bash completion: Restore completion for 'guix system', etc.
Commit 538ca8dd65
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.
master
parent
3794ce93be
commit
2ba81afcc2
|
@ -19,6 +19,19 @@
|
||||||
# Bash completion for Guix commands.
|
# Bash completion for Guix commands.
|
||||||
|
|
||||||
declare _guix_available_packages
|
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 ()
|
_guix_complete_subcommand ()
|
||||||
{
|
{
|
||||||
|
@ -146,19 +159,6 @@ _guix_complete_pid ()
|
||||||
COMPREPLY=($(compgen -W "$pids" -- "$1"))
|
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 ()
|
_guix_complete ()
|
||||||
{
|
{
|
||||||
local word_count=${#COMP_WORDS[*]}
|
local word_count=${#COMP_WORDS[*]}
|
||||||
|
@ -176,7 +176,7 @@ _guix_complete ()
|
||||||
|
|
||||||
case $COMP_CWORD in
|
case $COMP_CWORD in
|
||||||
1)
|
1)
|
||||||
_guix_complete_subcommand
|
_guix_complete_command
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if _guix_is_command "package"
|
if _guix_is_command "package"
|
||||||
|
@ -251,7 +251,7 @@ _guix_complete ()
|
||||||
then
|
then
|
||||||
_guix_complete_file
|
_guix_complete_file
|
||||||
else
|
else
|
||||||
_guix_complete_subcommand
|
_guix_complete_command
|
||||||
fi
|
fi
|
||||||
elif _guix_is_command "container"
|
elif _guix_is_command "container"
|
||||||
then
|
then
|
||||||
|
|
Reference in New Issue