--- Begin Message ---
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#43509] [PATCH] bash completion: Fix completion for commands and subcommands. |
Date: |
Thu, 24 Sep 2020 17:57:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
> Oleg Pykhalov <go.wigust@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’.
--- End Message ---