summaryrefslogtreecommitdiff
path: root/completions/slapt-src
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabriel@inconstante.eti.br>2017-09-25 23:46:54 -0300
committerGabriel F. T. Gomes <gabriel@inconstante.eti.br>2017-09-25 23:46:54 -0300
commit6d88f1055806932d9291f96847d2b691cccda2cd (patch)
tree0ff79eedaa8a239331256048981deedbd0721965 /completions/slapt-src
parent059a87a5936cfebfd2d71ab8057002cafb2ea051 (diff)
downloadbash-completion-6d88f1055806932d9291f96847d2b691cccda2cd.tar.gz
New upstream version 2.7upstream/2.7
Diffstat (limited to 'completions/slapt-src')
-rw-r--r--completions/slapt-src27
1 files changed, 18 insertions, 9 deletions
diff --git a/completions/slapt-src b/completions/slapt-src
index 94ddb892..2f65415f 100644
--- a/completions/slapt-src
+++ b/completions/slapt-src
@@ -2,8 +2,8 @@
_slapt_src()
{
- local cur prev words cword
- _init_completion -n : || return
+ local cur prev words cword split
+ _init_completion -s -n : || return
case "$prev" in
--config|-c)
@@ -16,6 +16,8 @@ _slapt_src()
;;
esac
+ $split && return
+
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_help "$1" --help )' -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
@@ -25,7 +27,7 @@ _slapt_src()
local i t
# search for last action (-i|-w|-b|-f)
for (( i=${#words[@]}-1; i>0; i-- )); do
- if [[ ${words[i]} == -@(i|w|f|b|-install|-show|-build|-fetch) ]]; then
+ if [[ ${words[i]} == -@([iwfb]|-install|-show|-build|-fetch) ]]; then
t="all"
break
fi
@@ -39,6 +41,11 @@ _slapt_src()
for (( i=${#words[@]}-1; i>0; i-- )); do
if [[ ${words[i]} == -@(c|-config) ]]; then
config="${words[i+1]}"
+ __expand_tilde_by_ref config
+ break
+ fi
+ if [[ ${words[i]} == --config=?* ]]; then
+ config="${words[i]#*=}"
break
fi
done
@@ -47,12 +54,14 @@ _slapt_src()
if [[ "$cur" == *:* ]]; then
local name=${cur%:*}
local version=${cur##*:}
- COMPREPLY=( $( slapt-src --config "$config" --search "^$name" 2> \
- /dev/null | sed -ne "/^$cur/{s/^$name:\([^ ]*\) .*$/\1/;p}" ) )
+ COMPREPLY=( $( LC_ALL=C "$1" --config "$config" --search "^$name" 2> \
+ /dev/null | LC_ALL=C command sed -ne \
+ "/^$cur/{s/^$name:\([^ ]*\) .*$/\1/;p}" ) )
else
- COMPREPLY=( $( slapt-src --config "$config" --search "^$cur" 2> \
- /dev/null | sed -ne "/^$cur/{s/ .*$//;p}" ) )
+ COMPREPLY=( $( LC_ALL=C "$1" --config "$config" --search "^$cur" 2> \
+ /dev/null | LC_ALL=C command sed -ne "/^$cur/{s/ .*$//;p}" ) )
fi
-} && complete -F _slapt_src slapt-src
+} &&
+complete -F _slapt_src slapt-src
-# ex: ts=4 sw=4 et filetype=sh
+# ex: filetype=sh