guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: guix-commits
Subject: 02/03: bash completion: Complete sub-commands after 'guix time-machine'.
Date: Thu, 4 Jun 2020 17:27:59 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 538ca8dd65f0075cc65bcca18ed87f66a789290a
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Jun 4 18:09:11 2020 +0200

    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.
---
 etc/completion/bash/guix | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
index 650cf1d..df35919 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]