autocomplete required packages as second argumet
This commit is contained in:
parent
46d4606e66
commit
decf9cdb31
@ -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
|
||||||
|
case $state in
|
||||||
|
command)
|
||||||
compadd `_composer_get_command_list`
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user