summaryrefslogtreecommitdiffstats
path: root/composer-bash-completion
diff options
context:
space:
mode:
Diffstat (limited to 'composer-bash-completion')
-rw-r--r--composer-bash-completion11
1 files changed, 6 insertions, 5 deletions
diff --git a/composer-bash-completion b/composer-bash-completion
index 4aed20f..a14f0a3 100644
--- a/composer-bash-completion
+++ b/composer-bash-completion
@@ -7,24 +7,25 @@
_sf_composer() {
# Use newline as only separator to allow space in completion values
- IFS=$'\n'
+ local IFS=$'\n'
local sf_cmd="${COMP_WORDS[0]}"
# for an alias, get the real script behind it
- if [[ $(type -t $sf_cmd) == "alias" ]]; then
+ sf_cmd_type=$(type -t $sf_cmd)
+ if [[ $sf_cmd_type == "alias" ]]; then
sf_cmd=$(alias $sf_cmd | sed -E "s/alias $sf_cmd='(.*)'/\1/")
- else
+ elif [[ $sf_cmd_type == "file" ]]; then
sf_cmd=$(type -p $sf_cmd)
fi
- if [ ! -x "$sf_cmd" ]; then
+ if [[ $sf_cmd_type != "function" && ! -x $sf_cmd ]]; then
return 1
fi
local cur prev words cword
_get_comp_words_by_ref -n := cur prev words cword
- local completecmd=("$sf_cmd" "_complete" "-sbash" "-c$cword" "-S2.4.1")
+ local completecmd=("$sf_cmd" "_complete" "--no-interaction" "-sbash" "-c$cword" "-S2.8.10")
for w in ${words[@]}; do
w=$(printf -- '%b' "$w")
# remove quotes from typed values