diff options
-rw-r--r-- | etc/completion/bash/guix | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index 5aebd074e9..98d20484f7 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix @@ -19,6 +19,19 @@ # Bash completion for Guix commands. declare _guix_available_packages +declare _guix_commands + +_guix_complete_command () +{ + local word_at_point="${COMP_WORDS[$COMP_CWORD]}" + if [ -z "$_guix_commands" ] + then + # Cache the list of commands to speed things up. + _guix_commands="$(guix --help 2> /dev/null \ + | grep '^ ' | cut -c 2-)" + fi + COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point")) +} _guix_complete_subcommand () { @@ -146,19 +159,6 @@ _guix_complete_pid () COMPREPLY=($(compgen -W "$pids" -- "$1")) } -declare _guix_subcommands - -_guix_complete_subcommand () -{ - if [ -z "$_guix_subcommands" ] - then - # Cache the list of subcommands to speed things up. - _guix_subcommands="$(guix --help 2> /dev/null \ - | grep '^ ' | cut -c 2-)" - fi - COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point")) -} - _guix_complete () { local word_count=${#COMP_WORDS[*]} @@ -176,7 +176,7 @@ _guix_complete () case $COMP_CWORD in 1) - _guix_complete_subcommand + _guix_complete_command ;; *) if _guix_is_command "package" @@ -251,7 +251,7 @@ _guix_complete () then _guix_complete_file else - _guix_complete_subcommand + _guix_complete_command fi elif _guix_is_command "container" then |