diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-09-10 11:19:41 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-09-10 12:27:24 +0200 |
commit | 2ba81afcc204024255ce548e2c4cc4aed5541093 (patch) | |
tree | db0678886276546d511ecbbe45f2002b6d75be12 /etc/completion/bash | |
parent | 3794ce93be8216d8378df7b808ce7f53b1e05a53 (diff) | |
download | guix-2ba81afcc204024255ce548e2c4cc4aed5541093.tar guix-2ba81afcc204024255ce548e2c4cc4aed5541093.tar.gz |
bash completion: Restore completion for 'guix system', etc.
Commit 538ca8dd65f0075cc65bcca18ed87f66a789290a introduced a second
'_guix_complete_subcommand' function, shadowing the existing one, which
broke sub-command completion for 'guix system', 'guix import', etc.
* etc/completion/bash/guix: Distinguish between '_guix_complete_command'
and '_guix_complete_subcommand'. Adjust users to call the right one.
Diffstat (limited to 'etc/completion/bash')
-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 |