From 8a2e1006b3b272126332aa064f3ad95387129544 Mon Sep 17 00:00:00 2001
From: Biswakalyan Bhuyan <biswa@surgot.in>
Date: Thu, 13 Feb 2025 14:13:49 +0530
Subject: new dot files

---
 .config/zsh/oh-my-zsh/plugins/cake/README.md       | 15 ++++++++++
 .config/zsh/oh-my-zsh/plugins/cake/cake.plugin.zsh | 33 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 .config/zsh/oh-my-zsh/plugins/cake/README.md
 create mode 100644 .config/zsh/oh-my-zsh/plugins/cake/cake.plugin.zsh

(limited to '.config/zsh/oh-my-zsh/plugins/cake')

diff --git a/.config/zsh/oh-my-zsh/plugins/cake/README.md b/.config/zsh/oh-my-zsh/plugins/cake/README.md
new file mode 100644
index 0000000..2c2a280
--- /dev/null
+++ b/.config/zsh/oh-my-zsh/plugins/cake/README.md
@@ -0,0 +1,15 @@
+# Cake
+
+This plugin provides completion for [CakePHP](https://cakephp.org/).
+
+To use it add cake to the plugins array in your zshrc file.
+
+```bash
+plugins=(... cake)
+```
+
+## Note
+
+This plugin generates a cache file of the cake tasks found, named `.cake_task_cache`, in the current working directory.
+It is regenerated when the Cakefile is newer than the cache file. It is advised that you add the cake file to your
+`.gitignore` files.
diff --git a/.config/zsh/oh-my-zsh/plugins/cake/cake.plugin.zsh b/.config/zsh/oh-my-zsh/plugins/cake/cake.plugin.zsh
new file mode 100644
index 0000000..2370df9
--- /dev/null
+++ b/.config/zsh/oh-my-zsh/plugins/cake/cake.plugin.zsh
@@ -0,0 +1,33 @@
+# Set this to 1 if you want to cache the tasks
+_cake_cache_task_list=1
+
+# Cache filename
+_cake_task_cache_file='.cake_task_cache'
+
+_cake_get_target_list () {
+	cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
+}
+
+_cake_does_target_list_need_generating () {
+
+	if [ ${_cake_cache_task_list} -eq 0 ]; then
+		return 1;
+	fi
+
+	[ ! -f ${_cake_task_cache_file} ] && return 0;
+	[ Cakefile -nt ${_cake_task_cache_file} ] && return 0;
+	return 1;
+}
+
+_cake () {
+	if [ -f Cakefile ]; then
+		if _cake_does_target_list_need_generating; then
+			_cake_get_target_list > ${_cake_task_cache_file}
+			compadd `cat ${_cake_task_cache_file}`
+		else
+			compadd `_cake_get_target_list`
+		fi
+	fi
+}
+
+compdef _cake cake
-- 
cgit v1.2.3-59-g8ed1b