diff options
| author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-10-03 14:02:04 +0200 |
|---|---|---|
| committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-10-03 19:23:48 +0200 |
| commit | 17f76b209ceca9972dcd375d2a0f869abc6d1f26 (patch) | |
| tree | 7073d6809f914f4e835e2cb0a147468cc42b61bf /etc/completion | |
| parent | 6fba67df1928a62abc7939bd8ff020e998ad8d6b (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/guix | 12 |
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 () |
