diff options
Diffstat (limited to 'plugins/composer/composer.plugin.zsh')
-rw-r--r-- | plugins/composer/composer.plugin.zsh | 68 |
1 files changed, 28 insertions, 40 deletions
diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index 218a13e5f..ba29503e4 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -1,19 +1,3 @@ -# ------------------------------------------------------------------------------ -# 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 @@ -30,41 +14,45 @@ _composer () { compdef _composer composer compdef _composer composer.phar -# Aliases + +## 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 -o' -alias cgu='composer global update' +alias cdu='composer dump-autoload' +alias cget='curl -s https://getcomposer.org/installer | php' alias cgr='composer global require' alias cgrm='composer global remove' +alias cgu='composer global update' +alias ci='composer install' alias co='composer outdated' alias cod='composer outdated --direct' +alias cr='composer require' +alias crm='composer remove' +alias csu='composer self-update' +alias cu='composer update' -# 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 - autoload -Uz _store_cache _retrieve_cache _cache_invalid +## If Composer not found, try to add known directories to $PATH +if (( ! $+commands[composer] )); then + [[ -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" - _retrieve_cache composer + # If still not found, don't do the rest of the script + (( $+commands[composer] )) || return 0 +fi - if [[ -z $__composer_bin_dir ]]; then - __composer_bin_dir=$(composer global config bin-dir --absolute 2>/dev/null) - _store_cache composer __composer_bin_dir - fi - # Add Composer's global binaries to PATH - export PATH="$PATH:$__composer_bin_dir" +## Add Composer's global binaries to PATH +autoload -Uz _store_cache _retrieve_cache _cache_invalid +_retrieve_cache composer - unset __composer_bin_dir -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 +if [[ -z $__composer_bin_dir ]]; then + __composer_bin_dir=$(composer global config bin-dir --absolute 2>/dev/null) + _store_cache composer __composer_bin_dir fi + +# Add Composer's global binaries to PATH +export PATH="$PATH:$__composer_bin_dir" + +unset __composer_bin_dir |