Browse Source

Merge pull request #3467 from mcornella/fix-composer-plugin

[Plugin composer] Multiple fixes
Robby Russell 9 years ago
parent
commit
8830f65c4d
1 changed files with 15 additions and 14 deletions
  1. 15 14
      plugins/composer/composer.plugin.zsh

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

@@ -7,11 +7,11 @@
 
 # Composer basic command completion
 _composer_get_command_list () {
-	composer --no-ansi | sed "1,/Available commands/d" | awk '/^  [a-z]+/ { print $1 }'
+    $_comp_command1 --no-ansi | sed "1,/Available commands/d" | awk '/^\s*[a-z]+/ { print $1 }'
 }
 
 _composer_get_required_list () {
-    composer show -s --no-ansi | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }'
+    $_comp_command1 show -s --no-ansi | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }'
 }
 
 _composer () {
@@ -20,29 +20,30 @@ _composer () {
   _arguments \
     '1: :->command'\
     '*: :->args'
-  if [ -f composer.json ]; then
-    case $state in
-      command)
-        compadd `_composer_get_command_list`
-        ;;
-      *)
-        compadd `_composer_get_required_list`
-        ;;
-    esac
-  else
-    compadd create-project init search selfupdate show
-  fi
+
+  case $state in
+    command)
+      compadd $(_composer_get_command_list)
+      ;;
+    *)
+      compadd $(_composer_get_required_list)
+      ;;
+  esac
 }
 
 compdef _composer composer
+compdef _composer composer.phar
 
 # Aliases
 alias c='composer'
 alias csu='composer self-update'
 alias cu='composer update'
+alias cr='composer require'
 alias ci='composer install'
 alias ccp='composer create-project'
 alias cdu='composer dump-autoload'
+alias cgu='composer global update'
+alias cgr='composer global require'
 
 # install composer in the current directory
 alias cget='curl -s https://getcomposer.org/installer | php'