Browse Source

Added Yii2 command completion

ekaragodin 10 years ago
parent
commit
08b9f8d677
1 changed files with 29 additions and 0 deletions
  1. 29 0
      plugins/yii2/yii2.plugin.zsh

+ 29 - 0
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