diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-06-04 18:09:11 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-04 23:26:43 +0200 |
commit | 538ca8dd65f0075cc65bcca18ed87f66a789290a (patch) | |
tree | b6e45ce18a472fe86b374ca2cbc103410faecc26 | |
parent | b7bb381ba3740d33652c2a8e7772c17b93b259cc (diff) | |
download | guix-538ca8dd65f0075cc65bcca18ed87f66a789290a.tar guix-538ca8dd65f0075cc65bcca18ed87f66a789290a.tar.gz |
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.
-rw-r--r-- | etc/completion/bash/guix | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index 650cf1d1ce..df35919eb2 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix @@ -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 |