summaryrefslogtreecommitdiff
path: root/plugins/cakephp3
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/cakephp3')
-rw-r--r--plugins/cakephp3/README.md16
-rw-r--r--plugins/cakephp3/cakephp3.plugin.zsh38
2 files changed, 54 insertions, 0 deletions
diff --git a/plugins/cakephp3/README.md b/plugins/cakephp3/README.md
new file mode 100644
index 000000000..7e8f6640d
--- /dev/null
+++ b/plugins/cakephp3/README.md
@@ -0,0 +1,16 @@
+# cakephp3 plugin
+
+The plugin adds aliases and autocompletion for [cakephp3](https://book.cakephp.org/3.0/en/index.html).
+
+To use it, add `cakephp3` to the plugins array of your zshrc file:
+```
+plugins=(... cakephp3)
+```
+
+## Aliases
+
+| Alias | Command |
+|-----------|-------------------------------|
+| c3 | `bin/cake` |
+| c3cache | `bin/cake orm_cache clear` |
+| c3migrate | `bin/cake migrations migrate` |
diff --git a/plugins/cakephp3/cakephp3.plugin.zsh b/plugins/cakephp3/cakephp3.plugin.zsh
new file mode 100644
index 000000000..dbfbeba3b
--- /dev/null
+++ b/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 orm_cache clear'
+alias c3migrate='bin/cake migrations migrate'