Browse Source

Merge pull request #3404 from ekaragodin/master

Added Yii2 command completion
Robby Russell 9 years ago
parent
commit
da1ca8876e
2 changed files with 36 additions and 0 deletions
  1. 7 0
      plugins/yii2/README.md
  2. 29 0
      plugins/yii2/yii2.plugin.zsh

+ 7 - 0
plugins/yii2/README.md

@@ -0,0 +1,7 @@
+# Yii2 autocomplete plugin
+
+* Adds autocomplete commands and subcommands for yii.
+
+## Requirements
+
+Autocomplete works from directory where your `yii` file contains.

+ 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 --color=0 | _yii2_format_command)"})
+      compadd -Q -S '' -a -- commands
+    esac
+  fi
+}
+
+compdef _yii2 yii