function __scriptura_new --description 'Create new script' argparse --stop-nonopt --move-unknown e/edit -- $argv set --function target $argv[1] set --function remaining $argv[2..] if not path is --type dir (path dirname $target) mkdir -p (path dirname $target) end if path is --type file $target echo "Error: $target already exists" return 1 end printf "%s\n%s\n" "#!/usr/bin/env fish" "$remaining" >$target chmod +x $target if test (count $remaining) -eq 0; or set --query _flag_edit __scriptura_edit $target end end