Subject: bug#43509: closed (Re: [bug#43509] [PATCH] bash completion: Fix completion for commands and subcommands.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 24 Sep 2020 15:59:03 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
43509: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43509
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#43509] [PATCH] bash completion: Fix completion for commands and subcommands.
From: Ludovic Courtès <[email-masked]>
To: Oleg Pykhalov <[email-masked]>
Cc: [email-masked]
Date: Thu, 24 Sep 2020 17:57:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Ludovic Courtès <[email-masked]> skribis:

> Oleg Pykhalov <[email-masked]> skribis:
>
>> * etc/completion/bash/guix
>> (_guix_complete_command, _guix_complete_subcommand): Fix completion.
>
> Oops, I see.  Could you mention in the commit log that this is a
> followup to 3794ce93be8216d8378df7b808ce7f53b1e05a53, which broke it all
> (right?).
>
>>  	# 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 }')"
>
> Could we avoid awk?

I went ahead and did that in 8e0c5033b17fcf1e4596ee9a3d52157900acc6fa.

Completion’s back!  :-)

Ludo’.

Subject: [PATCH] bash completion: Fix completion for commands and subcommands.
From: Oleg Pykhalov <[email-masked]>
To: [email-masked]
Cc: Oleg Pykhalov <[email-masked]>
Date: Sat, 19 Sep 2020 15:52:51 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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