aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/completion/bash/guix30
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