bash completion: Complete sub-commands after 'guix time-machine'.

* etc/completion/bash/guix (_guix_complete_subcommand): New function.
(_guix_complete): Use it.  For "time-machine", call
'_guix_complete_subcommand' by default.
This commit is contained in:
Ludovic Courtès 2020-06-04 18:09:11 +02:00
parent b7bb381ba3
commit 538ca8dd65
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -148,6 +148,17 @@ _guix_complete_pid ()
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[*]}
@ -165,13 +176,7 @@ _guix_complete ()
case $COMP_CWORD in
1)
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_subcommand
;;
*)
if _guix_is_command "package"
@ -237,6 +242,8 @@ _guix_complete ()
if _guix_is_dash_C
then
_guix_complete_file
else
_guix_complete_subcommand
fi
elif _guix_is_command "container"
then