summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorekaragodin <ekaragodin@gmail.com>2014-12-14 11:09:34 +0600
committerekaragodin <ekaragodin@gmail.com>2014-12-14 11:43:52 +0600
commit08b9f8d6770e2f626bca0d320d2b577e0e1597c5 (patch)
tree2cf7741885ec700936e3cbc8501076c6b62ebefb
parent141c2e593401f245a9f9bb0799ada8bf14b677d7 (diff)
downloadzsh-08b9f8d6770e2f626bca0d320d2b577e0e1597c5.tar.gz
zsh-08b9f8d6770e2f626bca0d320d2b577e0e1597c5.tar.bz2
zsh-08b9f8d6770e2f626bca0d320d2b577e0e1597c5.zip
Added Yii2 command completion
-rw-r--r--plugins/yii2/yii2.plugin.zsh29
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/yii2/yii2.plugin.zsh b/plugins/yii2/yii2.plugin.zsh
new file mode 100644
index 000000000..137b3a076
--- /dev/null
+++ b/plugins/yii2/yii2.plugin.zsh
@@ -0,0 +1,29 @@
+# Yii2 command completion
+
+_yii2_format_command () {
+ awk '/^- [a-z]+/ { sub(":", "", $2); print $2 }'
+}
+
+_yii2 () {
+ if [ -f ./yii ]; then
+ _arguments \
+ '1: :->command'\
+ '*: :->params'
+
+ case $state in
+ command)
+
+ local -a commands
+ local -a name
+
+ if [[ $words[2] == *\/ ]]; then
+ name=$words[2]
+ fi
+
+ commands=(${(f)"$(./yii help $name | _yii2_format_command)"})
+ compadd -Q -S '' -a -- commands
+ esac
+ fi
+}
+
+compdef _yii2 yii