浏览代码

Completion for cake the coffee-script build tool

Paul Serby 13 年之前
父节点
当前提交
66c6260c10
共有 1 个文件被更改,包括 32 次插入0 次删除
  1. 32 0
      plugins/cake/cake.plugin.zsh

+ 32 - 0
plugins/cake/cake.plugin.zsh

@@ -0,0 +1,32 @@
+# Set this to 1 if you want to cache the tasks
+cacheTaskList=1
+
+# Cache filename
+cacheFile='.cake-task-cache'
+
+_cake_does_target_list_need_generating () {
+
+	if [ $cacheTaskList -eq 0 ]; then
+		return 1;
+	fi
+
+	if [ ! -f $cacheFile ]; then return 0;
+	else
+		accurate=$(stat -f%m $cacheFile)
+		changed=$(stat -f%m Cakefile)
+		return $(expr $accurate '>=' $changed)
+	fi
+}
+
+_cake () {
+	if [ -f Cakefile ]; then
+		if _cake_does_target_list_need_generating; then
+			cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cacheFile
+			compadd `cat $cacheFile`
+		else
+			compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'`
+		fi
+	fi
+}
+
+compdef _cake cake