Better cake3 completion

This commit is contained in:
Draniu 2016-05-18 23:58:12 +02:00 committed by Marc Cornellà
parent 9ad9ac69a6
commit 9a0f9d7e8b

View file

@ -1,12 +1,31 @@
# CakePHP 3 basic command completion # CakePHP 3 basic command completion
_cakephp3_get_command_list () { _cakephp3_get_command_list () {
cakephp3commands=($(bin/cake completion commands));printf "%s\n" "${cakephp3commands[@]}" bin/cake Completion commands
}
_cakephp3_get_sub_command_list () {
bin/cake Completion subcommands ${words[2]}
}
_cakephp3_get_3rd_argument () {
bin/cake ${words[2]} ${words[3]} | grep '\-\ '| awk '{print $2}'
} }
_cakephp3 () { _cakephp3 () {
has3rdargument=("all" "controller" "fixture" "model" "template")
if [ -f bin/cake ]; then if [ -f bin/cake ]; then
if (( CURRENT == 2 )); then
compadd `_cakephp3_get_command_list` compadd `_cakephp3_get_command_list`
fi fi
if (( CURRENT == 3 )); then
compadd `_cakephp3_get_sub_command_list`
fi
if (( CURRENT == 4 )); then
if [[ ${has3rdargument[(i)${words[3]}]} -le ${#has3rdargument} ]] ; then ;
compadd `_cakephp3_get_3rd_argument`
fi
fi
fi
} }
compdef _cakephp3 bin/cake compdef _cakephp3 bin/cake
@ -14,6 +33,5 @@ compdef _cakephp3 cake
#Alias #Alias
alias c3='bin/cake' alias c3='bin/cake'
alias c3cache='bin/cake orm_cache clear' alias c3cache='bin/cake orm_cache clear'
alias c3migrate='bin/cake migrations migrate' alias c3migrate='bin/cake migrations migrate'