Browse Source

composer: keep composer autocompletion when using global (#5933)

Thomas Ruiz 5 years ago
parent
commit
864b441688
1 changed files with 10 additions and 14 deletions
  1. 10 14
      plugins/composer/composer.plugin.zsh

+ 10 - 14
plugins/composer/composer.plugin.zsh

@@ -15,20 +15,16 @@ _composer_get_required_list () {
 }
 
 _composer () {
-  local curcontext="$curcontext" state line
-  typeset -A opt_args
-  _arguments \
-    '1: :->command'\
-    '*: :->args'
-
-  case $state in
-    command)
-      compadd $(_composer_get_command_list)
-      ;;
-    *)
-      compadd $(_composer_get_required_list)
-      ;;
-  esac
+    local curcontext="$curcontext" state line
+    typeset -A opt_args
+    _arguments \
+        '*:: :->subcmds'
+
+    if (( CURRENT == 1 )) || ( ((CURRENT == 2)) && [ "$words[1]" = "global" ] ) ; then
+        compadd $(_composer_get_command_list)
+    else
+        compadd $(_composer_get_required_list)
+    fi
 }
 
 compdef _composer composer