From af120ab348f2e1a5a39dec035ed9dcf84189a64e Mon Sep 17 00:00:00 2001
From: Biswakalyan Bhuyan <biswa@surgot.in>
Date: Mon, 3 Oct 2022 21:42:20 +0530
Subject: dotfiles

---
 zsh/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 zsh/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh

(limited to 'zsh/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh')

diff --git a/zsh/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh b/zsh/oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh
new file mode 100644
index 0000000..dbfbeba
--- /dev/null
+++ b/zsh/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 orm_cache clear'
+alias c3migrate='bin/cake migrations migrate'
-- 
cgit v1.2.3-59-g8ed1b