summaryrefslogtreecommitdiff
path: root/plugins/yii2/yii2.plugin.zsh
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2014-12-20 12:40:47 -0800
committerRobby Russell <robby@planetargon.com>2014-12-20 12:40:47 -0800
commitda1ca8876e6bd83ec5b2ae22f3be8e00703122cf (patch)
tree24f45380051002bb959d809c71af766b3c2ddf88 /plugins/yii2/yii2.plugin.zsh
parent0c47d8cfe426e36a718d25b86a428eb31a8d52e2 (diff)
parent00ff1bbd1c666be789f94c30cfdd837d16d190d8 (diff)
downloadzsh-da1ca8876e6bd83ec5b2ae22f3be8e00703122cf.tar.gz
zsh-da1ca8876e6bd83ec5b2ae22f3be8e00703122cf.tar.bz2
zsh-da1ca8876e6bd83ec5b2ae22f3be8e00703122cf.zip
Merge pull request #3404 from ekaragodin/master
Added Yii2 command completion
Diffstat (limited to 'plugins/yii2/yii2.plugin.zsh')
-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..e8993adf4
--- /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 --color=0 | _yii2_format_command)"})
+ compadd -Q -S '' -a -- commands
+ esac
+ fi
+}
+
+compdef _yii2 yii \ No newline at end of file