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