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) | |
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 | 
