guix-commits
[Top][All Lists]
Advanced

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

01/02: bash completion: Complete file names after '-f' and '-l'.


From: guix-commits
Subject: 01/02: bash completion: Complete file names after '-f' and '-l'.
Date: Fri, 4 Dec 2020 17:45:45 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 611ae310f4ca1d93600c280e940a69b07e20c350
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Dec 4 18:19:22 2020 +0100

    bash completion: Complete file names after '-f' and '-l'.
    
    * etc/completion/bash/guix (_guix_is_dash_f, _guix_is_dash_l): New
    functions.
    (_guix_complete): Complete file names after 'guix package -f', 'guix
    build -f', and 'guix environment -l'.
---
 etc/completion/bash/guix | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
index fdbdf46..26480e5 100644
--- a/etc/completion/bash/guix
+++ b/etc/completion/bash/guix
@@ -111,6 +111,24 @@ _guix_is_removing ()
     $result
 }
 
+_guix_is_dash_f ()
+{
+    [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-f" ] \
+       || { case "${COMP_WORDS[$COMP_CWORD]}" in
+                --file=*|--install-from-file=*) true;;
+                *)                              false;;
+            esac }
+}
+
+_guix_is_dash_l ()
+{
+    [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-l" ] \
+       || { case "${COMP_WORDS[$COMP_CWORD]}" in
+                --load=*) true;;
+                *)        false;;
+            esac }
+}
+
 _guix_is_dash_L ()
 {
     [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
@@ -182,7 +200,7 @@ _guix_complete ()
        *)
            if _guix_is_command "package"
            then
-               if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
+               if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || 
_guix_is_dash_f
                then
                    _guix_complete_file
                elif _guix_is_removing
@@ -217,7 +235,7 @@ _guix_complete ()
                fi
             elif _guix_is_command "build"
             then
-                if _guix_is_dash_L || _guix_is_dash_m
+                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_f
                 then
                     _guix_complete_file
                else
@@ -225,7 +243,7 @@ _guix_complete ()
                 fi
            elif _guix_is_command "environment"
            then
-                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
+                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || 
_guix_is_dash_l
                 then
                     _guix_complete_file
                else



reply via email to

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