mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
[completions/env] Argparsify
This fixes subcommand completions by using argparse to get the subcommand, just like we did for `sudo`. Reported by @adregan on gitter
This commit is contained in:
parent
f3cee81338
commit
0aedd47af2
1 changed files with 15 additions and 6 deletions
|
@ -1,9 +1,18 @@
|
||||||
|
function __fish_complete_env_subcommand
|
||||||
|
argparse -s s/ignore-environment u/unset h-help v-version -- (commandline -opc) (commandline -ct) 2>/dev/null
|
||||||
|
or return
|
||||||
|
if set -q argv[1]
|
||||||
|
complete -C"$argv"
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
complete -c env -a "(set -n)=" -x -d "Redefine variable"
|
|
||||||
|
|
||||||
complete -c env -a "(__fish_complete_subcommand -- -u --unset)" -d "Command"
|
complete -c env -a "(__fish_complete_env_subcommand)" -d "Command"
|
||||||
|
|
||||||
complete -c env -s i -l ignore-environment -d "Start with an empty environment"
|
complete -c env -n 'not __fish_complete_env_subcommand' -a "(set -n)=" -x -d "Redefine variable"
|
||||||
complete -c env -s u -l unset -d "Remove variable from the environment" -x -a "(set -n)"
|
complete -c env -n 'not __fish_complete_env_subcommand' -s i -l ignore-environment -d "Start with an empty environment"
|
||||||
complete -c env -l help -d "Display help and exit"
|
complete -c env -n 'not __fish_complete_env_subcommand' -s u -l unset -d "Remove variable from the environment" -x -a "(set -n)"
|
||||||
complete -c env -l version -d "Display version and exit"
|
complete -c env -n 'not __fish_complete_env_subcommand' -l help -d "Display help and exit"
|
||||||
|
complete -c env -n 'not __fish_complete_env_subcommand' -l version -d "Display version and exit"
|
||||||
|
|
Loading…
Reference in a new issue