diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/composer/composer.plugin.zsh |
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/composer/composer.plugin.zsh')
-rw-r--r-- | .oh-my-zsh/plugins/composer/composer.plugin.zsh | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/composer/composer.plugin.zsh b/.oh-my-zsh/plugins/composer/composer.plugin.zsh new file mode 100644 index 0000000..6349610 --- /dev/null +++ b/.oh-my-zsh/plugins/composer/composer.plugin.zsh @@ -0,0 +1,60 @@ +# ------------------------------------------------------------------------------ +# FILE: composer.plugin.zsh +# DESCRIPTION: oh-my-zsh composer plugin file. +# AUTHOR: Daniel Gomes (me@danielcsgomes.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +# Composer basic command completion +_composer_get_command_list () { + $_comp_command1 --no-ansi 2>/dev/null | sed "1,/Available commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' +} + +_composer_get_required_list () { + $_comp_command1 show -s --no-ansi 2>/dev/null | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }' +} + +_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 +} + +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 crm='composer remove' +alias ci='composer install' +alias ccp='composer create-project' +alias cdu='composer dump-autoload' +alias cdo='composer dump-autoload --optimize-autoloader' +alias cgu='composer global update' +alias cgr='composer global require' +alias cgrm='composer global remove' + +# install composer in the current directory +alias cget='curl -s https://getcomposer.org/installer | php' + +# Add Composer's global binaries to PATH, using Composer if available. +if (( $+commands[composer] )); then + export PATH=$PATH:$(composer global config bin-dir --absolute 2>/dev/null) +else + [ -d $HOME/.composer/vendor/bin ] && export PATH=$PATH:$HOME/.composer/vendor/bin + [ -d $HOME/.config/composer/vendor/bin ] && export PATH=$PATH:$HOME/.config/composer/vendor/bin +fi |