Subject: [PATCH] bash completion: Fix completion for commands and subcommands.

From: Oleg Pykhalov <[email-masked]>
Date: Sat, 19 Sep 2020 15:52:51 +0300

* etc/completion/bash/guix
(_guix_complete_command, _guix_complete_subcommand): Fix completion.
---
 etc/completion/bash/guix | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
index 98d20484f7..3bc9a48947 100644
--- a/etc/completion/bash/guix
+++ b/etc/completion/bash/guix
@@ -27,8 +27,7 @@ _guix_complete_command ()
     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-)"
+	_guix_commands="$(guix --help 2> /dev/null | awk '/^    [a-z]/ { print $1 }')"
     fi
     COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point"))
 }
@@ -36,9 +35,7 @@ _guix_complete_command ()
 _guix_complete_subcommand ()
 {
     local command="${COMP_WORDS[1]}"
-    local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \
-                         | grep '^   [a-z]' \
-                         | sed -e's/^ \+\([a-z-]\+\).*$/\1/g')"
+    local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null | awk '/^   [a-z]/ { print $1 }')"
     COMPREPLY=($(compgen -W "$subcommands" -- "${COMP_WORDS[$COMP_CWORD]}"))
 }
 
-- 
2.28.0