summaryrefslogtreecommitdiff
path: root/plugins/cakephp3
diff options
context:
space:
mode:
authorDraniu <sirsamvimes@gmail.com>2016-05-18 23:58:12 +0200
committerMarc Cornellà <marc.cornella@live.com>2016-05-23 12:30:17 +0200
commit9a0f9d7e8bcefb4d9895ca185a35c42366e19b00 (patch)
treea256f7b3b0d84e2c4681624d821027b4026c1254 /plugins/cakephp3
parent9ad9ac69a66cb3f61a642241b4723ae7e0789033 (diff)
downloadzsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.tar.gz
zsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.tar.bz2
zsh-9a0f9d7e8bcefb4d9895ca185a35c42366e19b00.zip
Better cake3 completion
Diffstat (limited to 'plugins/cakephp3')
-rw-r--r--plugins/cakephp3/cakephp3.plugin.zsh24
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'