decf9cdb3143fde3d2e608c008e61ba9838c0deb

Author
Gunther Konig <gunther.s.konig@gmail.com>
Committer
Gunther Konig <gunther.s.konig@gmail.com>
Date

Message

autocomplete required packages as second argumet

Diff

 1diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh
 2index 2d155754174ddb9755351a287309e3e8f857580e..37dd282e499fa194278e7bde06ea31c6b0cbf915 100644
 3--- a/plugins/composer/composer.plugin.zsh
 4+++ b/plugins/composer/composer.plugin.zsh
 5@@ -10,14 +10,36 @@ _composer_get_command_list () {
 6 	composer --no-ansi | sed "1,/Available commands/d" | awk '/^  [a-z]+/ { print $1 }'
 7 }
 8 
 9+_composer_get_required_list () {
10+    composer show -s --no-ansi | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }'
11+}
12+
13 _composer () {
14+  local curcontext="$curcontext" state line
15+  typeset -A opt_args
16+  _arguments \
17+    '1: :->command'\
18+    '*: :->args'
19   if [ -f composer.json ]; then
20-    compadd `_composer_get_command_list`
21+    case $state in
22+      command)
23+        compadd `_composer_get_command_list`
24+        ;;
25+      *)
26+        compadd `_composer_get_required_list`
27+        ;;
28+    esac
29   else
30     compadd create-project init search selfupdate show
31   fi
32 }
33 
34+_composer_required () {
35+  if [ -f composer.json ]; then
36+    compadd `_composer_get_required_list`
37+  fi
38+}
39+
40 compdef _composer composer
41 
42 # Aliases