GNU bug report logs - #43509
[PATCH] bash completion: Fix completion for commands and subcommands.

Previous Next

Package: guix-patches;

Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>

Date: Sat, 19 Sep 2020 12:54:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Subject: bug#43509: closed (Re: [bug#43509] [PATCH] bash completion: Fix
 completion for commands and subcommands.)
Date: Thu, 24 Sep 2020 15:59:03 +0000
[Message part 1 (text/plain, inline)]
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 43509 <at> debbugs.gnu.org.

-- 
43509: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43509
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 43509-done <at> debbugs.gnu.org
Subject: Re: [bug#43509] [PATCH] bash completion: Fix completion for
 commands and subcommands.
Date: Thu, 24 Sep 2020 17:57:42 +0200
Hi,

Ludovic Courtès <ludo <at> gnu.org> skribis:

> Oleg Pykhalov <go.wigust <at> gmail.com> 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’.

[Message part 3 (message/rfc822, inline)]
From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Oleg Pykhalov <go.wigust <at> gmail.com>
Subject: [PATCH] bash completion: Fix completion for commands and subcommands.
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




This bug report was last modified 4 years and 241 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.