autocomplete required packages as second argumet

This commit is contained in:
Gunther Konig 2013-06-21 12:21:25 +03:00
parent 46d4606e66
commit decf9cdb31

View File

@ -10,14 +10,36 @@ _composer_get_command_list () {
composer --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' composer --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }'
} }
_composer_get_required_list () {
composer show -s --no-ansi | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }'
}
_composer () { _composer () {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments \
'1: :->command'\
'*: :->args'
if [ -f composer.json ]; then if [ -f composer.json ]; then
compadd `_composer_get_command_list` case $state in
command)
compadd `_composer_get_command_list`
;;
*)
compadd `_composer_get_required_list`
;;
esac
else else
compadd create-project init search selfupdate show compadd create-project init search selfupdate show
fi fi
} }
_composer_required () {
if [ -f composer.json ]; then
compadd `_composer_get_required_list`
fi
}
compdef _composer composer compdef _composer composer
# Aliases # Aliases