diff options
author | Draniu <sirsamvimes@gmail.com> | 2016-05-18 23:58:12 +0200 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2016-05-23 12:30:17 +0200 |
commit | 9a0f9d7e8bcefb4d9895ca185a35c42366e19b00 (patch) | |
tree | a256f7b3b0d84e2c4681624d821027b4026c1254 | |
parent | 9ad9ac69a66cb3f61a642241b4723ae7e0789033 (diff) | |
download | zsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.tar.gz zsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.tar.bz2 zsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.zip |
Better cake3 completion
-rw-r--r-- | plugins/cakephp3/cakephp3.plugin.zsh | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/plugins/cakephp3/cakephp3.plugin.zsh b/plugins/cakephp3/cakephp3.plugin.zsh index 28d5af2ea..2b0f58998 100644 --- a/plugins/cakephp3/cakephp3.plugin.zsh +++ b/plugins/cakephp3/cakephp3.plugin.zsh @@ -1,11 +1,30 @@ # CakePHP 3 basic command completion _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 () { + has3rdargument=("all" "controller" "fixture" "model" "template") if [ -f bin/cake ]; then - compadd `_cakephp3_get_command_list` + if (( CURRENT == 2 )); then + compadd `_cakephp3_get_command_list` + 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 } @@ -14,6 +33,5 @@ compdef _cakephp3 cake #Alias alias c3='bin/cake' - alias c3cache='bin/cake orm_cache clear' alias c3migrate='bin/cake migrations migrate' |