diff options
Diffstat (limited to 'oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh')
-rw-r--r-- | oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh b/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh new file mode 100644 index 0000000..a1a289f --- /dev/null +++ b/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh @@ -0,0 +1,38 @@ +# CakePHP 3 basic command completion +_cakephp3_get_command_list () { + 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 () { + local -a has3rdargument + has3rdargument=("all" "controller" "fixture" "model" "template") + if [ -f bin/cake ]; then + 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 +} + +compdef _cakephp3 bin/cake +compdef _cakephp3 cake + +#Alias +alias c3='bin/cake' +alias c3cache='bin/cake schema_cache clear' +alias c3migrate='bin/cake migrations migrate' |