summaryrefslogtreecommitdiff
path: root/etc/completion
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-10-03 14:02:04 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-10-03 19:23:48 +0200
commit17f76b209ceca9972dcd375d2a0f869abc6d1f26 (patch)
tree7073d6809f914f4e835e2cb0a147468cc42b61bf /etc/completion
parent6fba67df1928a62abc7939bd8ff020e998ad8d6b (diff)
bash completion: Append to $COMPREPLY where possible.
_guix_complete is always called with a fresh empty array. * etc/completion/bash/guix (_guix_complete_command) (_guix_complete_subcommand, _guix_complete_installed_package) (_guix_complete_option, _guix_complete_pid): Append to $COMPREPLY rather than re-assigning.
Diffstat (limited to 'etc/completion')
-rw-r--r--etc/completion/bash/guix12
1 files changed, 6 insertions, 6 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
index 112ea789de1..ea8f76f3e0c 100644
--- a/etc/completion/bash/guix
+++ b/etc/completion/bash/guix
@@ -32,7 +32,7 @@ _guix_complete_command ()
32 | grep '^ ' \ 32 | grep '^ ' \
33 | sed '-es/^ *\([a-z-]\+\).*$/\1/g')" 33 | sed '-es/^ *\([a-z-]\+\).*$/\1/g')"
34 fi 34 fi
35 COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point")) 35 COMPREPLY+=($(compgen -W "$_guix_commands" -- "$word_at_point"))
36} 36}
37 37
38_guix_complete_subcommand () 38_guix_complete_subcommand ()
@@ -41,7 +41,7 @@ _guix_complete_subcommand ()
41 local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \ 41 local subcommands="$(${COMP_WORDS[0]} $command --help 2> /dev/null \
42 | grep '^ [a-z]' \ 42 | grep '^ [a-z]' \
43 | sed -e's/^ \+\([a-z-]\+\).*$/\1/g')" 43 | sed -e's/^ \+\([a-z-]\+\).*$/\1/g')"
44 COMPREPLY=($(compgen -W "$subcommands" -- "${COMP_WORDS[$COMP_CWORD]}")) 44 COMPREPLY+=($(compgen -W "$subcommands" -- "${COMP_WORDS[$COMP_CWORD]}"))
45} 45}
46 46
47_guix_complete_available_package () 47_guix_complete_available_package ()
@@ -54,7 +54,7 @@ _guix_complete_available_package ()
54 _guix_available_packages="$(${COMP_WORDS[0]} package -A 2> /dev/null \ 54 _guix_available_packages="$(${COMP_WORDS[0]} package -A 2> /dev/null \
55 | cut -f1)" 55 | cut -f1)"
56 fi 56 fi
57 COMPREPLY=($(compgen -W "$_guix_available_packages" -- "$prefix")) 57 COMPREPLY+=($(compgen -W "$_guix_available_packages" -- "$prefix"))
58} 58}
59 59
60_guix_complete_installed_package () 60_guix_complete_installed_package ()
@@ -64,7 +64,7 @@ _guix_complete_installed_package ()
64 local prefix="$1" 64 local prefix="$1"
65 local packages="$(${COMP_WORDS[0]} package -I "^$prefix" 2> /dev/null \ 65 local packages="$(${COMP_WORDS[0]} package -I "^$prefix" 2> /dev/null \
66 | cut -f1)" 66 | cut -f1)"
67 COMPREPLY=($(compgen -W "$packages" -- "$prefix")) 67 COMPREPLY+=($(compgen -W "$packages" -- "$prefix"))
68} 68}
69 69
70_guix_complete_option () 70_guix_complete_option ()
@@ -79,7 +79,7 @@ _guix_complete_option ()
79 | grep '^ \+-' \ 79 | grep '^ \+-' \
80 | sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')" 80 | sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')"
81 compopt -o nospace 81 compopt -o nospace
82 COMPREPLY=($(compgen -W "$options" -- "$2")) 82 COMPREPLY+=($(compgen -W "$options" -- "$2"))
83} 83}
84 84
85_guix_is_option () 85_guix_is_option ()
@@ -174,7 +174,7 @@ _guix_complete_file ()
174_guix_complete_pid () 174_guix_complete_pid ()
175{ 175{
176 local pids="$(cd /proc; echo [0-9]*)" 176 local pids="$(cd /proc; echo [0-9]*)"
177 COMPREPLY=($(compgen -W "$pids" -- "$1")) 177 COMPREPLY+=($(compgen -W "$pids" -- "$1"))
178} 178}
179 179
180_guix_complete () 180_guix_complete ()