08b9f8d6770e2f626bca0d320d2b577e0e1597c5

Author
ekaragodin <ekaragodin@gmail.com>
Committer
ekaragodin <ekaragodin@gmail.com>
Date

Message

Added Yii2 command completion

Diff

 1diff --git a/plugins/yii2/yii2.plugin.zsh b/plugins/yii2/yii2.plugin.zsh
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..137b3a0764487712fdf74ff2e2bb574df7fcc742
 4--- /dev/null
 5+++ b/plugins/yii2/yii2.plugin.zsh
 6@@ -0,0 +1,29 @@
 7+# Yii2 command completion
 8+
 9+_yii2_format_command () {
10+  awk '/^- [a-z]+/ { sub(":", "", $2); print $2 }'
11+}
12+
13+_yii2 () {
14+  if [ -f ./yii ]; then
15+    _arguments \
16+      '1: :->command'\
17+      '*: :->params'
18+
19+    case $state in
20+      command)
21+
22+      local -a commands
23+      local -a name
24+
25+      if [[ $words[2] == *\/ ]]; then
26+        name=$words[2]
27+      fi
28+
29+      commands=(${(f)"$(./yii help $name | _yii2_format_command)"})
30+      compadd -Q -S '' -a -- commands
31+    esac
32+  fi
33+}
34+
35+compdef _yii2 yii