From 5f6b0ac7fbfbb0e25d0d691efa1bf676ac9f6962 Mon Sep 17 00:00:00 2001 From: Marc Cornellà <hello@mcornella.com> Date: Sun, 26 Dec 2021 18:58:12 +0100 Subject: style(composer): fix code and README style --- plugins/composer/composer.plugin.zsh | 68 +++++++++++++++--------------------- 1 file changed, 28 insertions(+), 40 deletions(-) (limited to 'plugins/composer/composer.plugin.zsh') 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 -- cgit v1.2.3-70-g09d2 From 70dfb6ef92f3bedc460e300e94e3456942ff328c Mon Sep 17 00:00:00 2001 From: Marc Cornellà <hello@mcornella.com> Date: Sun, 26 Dec 2021 18:58:22 +0100 Subject: refactor(composer): improve completion and use official Zsh completion if available --- plugins/composer/composer.plugin.zsh | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'plugins/composer/composer.plugin.zsh') diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index ba29503e4..f2076c220 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -1,18 +1,34 @@ -_composer () { +## Basic Composer command completion +# Since Zsh 5.7, an improved composer command completion is provided +if ! is-at-least 5.7; then + _composer () { local curcontext="$curcontext" state line typeset -A opt_args - _arguments \ - '*:: :->subcmds' + _arguments '*:: :->subcmds' - if (( CURRENT == 1 )) || ( ((CURRENT == 2)) && [ "$words[1]" = "global" ] ) ; then - compadd $(_composer_get_command_list) + if (( CURRENT == 1 )) || ( (( CURRENT == 2 )) && [[ "$words[1]" = "global" ]] ); then + # Command list + local -a subcmds + subcmds=("${(@f)"$($_comp_command1 --no-ansi 2>/dev/null | awk ' + /Available commands/{ r=1 } + r == 1 && /^[ \t]*[a-z]+/{ + gsub(/^[ \t]+/, "") + gsub(/ +/, ":") + print $0 + } + ')"}") + _describe -t commands 'composer command' subcmds else - compadd $(_composer_get_required_list) + # Required list + compadd $($_comp_command1 show -s --no-ansi 2>/dev/null \ + | sed '1,/requires/d' \ + | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }') fi -} + } -compdef _composer composer -compdef _composer composer.phar + compdef _composer composer + compdef _composer composer.phar +fi ## Aliases -- cgit v1.2.3-70-g09d2 From cbd8481fe37dde252ee817a8157ed72b7bcad655 Mon Sep 17 00:00:00 2001 From: mikey dubs <mike@herebox.org> Date: Fri, 9 Jul 2021 01:12:56 -0700 Subject: feat(composer): add `cs` alias for `composer show` (#10034) Closes #10034 --- plugins/composer/README.md | 1 + plugins/composer/composer.plugin.zsh | 1 + 2 files changed, 2 insertions(+) (limited to 'plugins/composer/composer.plugin.zsh') diff --git a/plugins/composer/README.md b/plugins/composer/README.md index 00ada1e13..8c79c4109 100644 --- a/plugins/composer/README.md +++ b/plugins/composer/README.md @@ -29,5 +29,6 @@ Original author: Daniel Gomes <me@danielcsgomes.com> | `cod` | `composer outdated --direct` | Shows a list of installed packages with available updates which are direct dependencies | | `cr` | `composer require` | Adds new packages to `composer.json` | | `crm` | `composer remove` | Removes packages from `composer.json` | +| `cs` | `composer show` | Lists available packages, with optional filtering | | `csu` | `composer self-update` | Updates composer to the latest version | | `cu` | `composer update` | Updates composer dependencies and `composer.lock` file | diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index f2076c220..a3883a1f2 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -45,6 +45,7 @@ alias co='composer outdated' alias cod='composer outdated --direct' alias cr='composer require' alias crm='composer remove' +alias cs='composer show' alias csu='composer self-update' alias cu='composer update' -- cgit v1.2.3-70-g09d2 From d384ccf31dca8b0a768c463087f156b7302c77c5 Mon Sep 17 00:00:00 2001 From: Raphael Stolt <raphael.stolt@gmail.com> Date: Tue, 25 Apr 2017 19:52:55 +0200 Subject: feat(composer): add `cuh` alias for updating global packages (#6048) Closes #6048 --- plugins/composer/README.md | 37 ++++++++++++++++++------------------ plugins/composer/composer.plugin.zsh | 1 + 2 files changed, 20 insertions(+), 18 deletions(-) (limited to 'plugins/composer/composer.plugin.zsh') diff --git a/plugins/composer/README.md b/plugins/composer/README.md index 8c79c4109..ad6ed24bc 100644 --- a/plugins/composer/README.md +++ b/plugins/composer/README.md @@ -14,21 +14,22 @@ Original author: Daniel Gomes <me@danielcsgomes.com> ## Aliases -| Alias | Command | Description | -| ------ | ---------------------------- | --------------------------------------------------------------------------------------- | -| `c` | `composer` | Starts composer | -| `ccp` | `composer create-project` | Create new project from an existing package | -| `cdo` | `composer dump-autoload -o` | Converts PSR-0/4 autoloading to classmap for a faster autoloader (good for production) | -| `cdu` | `composer dump-autoload` | Updates the autoloader | -| `cget` | `curl -s <installer> \| php` | Installs composer in the current directory | -| `cgr` | `composer global require` | Allows require command to run on COMPOSER_HOME directory | -| `cgrm` | `composer global remove` | Allows remove command to run on COMPOSER_HOME directory | -| `cgu` | `composer global update` | Allows update command to run on COMPOSER_HOME directory | -| `ci` | `composer install` | Resolves and installs dependencies from `composer.json` | -| `co` | `composer outdated` | Shows a list of installed packages with available updates | -| `cod` | `composer outdated --direct` | Shows a list of installed packages with available updates which are direct dependencies | -| `cr` | `composer require` | Adds new packages to `composer.json` | -| `crm` | `composer remove` | Removes packages from `composer.json` | -| `cs` | `composer show` | Lists available packages, with optional filtering | -| `csu` | `composer self-update` | Updates composer to the latest version | -| `cu` | `composer update` | Updates composer dependencies and `composer.lock` file | +| Alias | Command | Description | +| ------ | ---------------------------------- | --------------------------------------------------------------------------------------- | +| `c` | `composer` | Starts composer | +| `ccp` | `composer create-project` | Create new project from an existing package | +| `cdo` | `composer dump-autoload -o` | Converts PSR-0/4 autoloading to classmap for a faster autoloader (good for production) | +| `cdu` | `composer dump-autoload` | Updates the autoloader | +| `cget` | `curl -s <installer> \| php` | Installs composer in the current directory | +| `cgr` | `composer global require` | Allows require command to run on COMPOSER_HOME directory | +| `cgrm` | `composer global remove` | Allows remove command to run on COMPOSER_HOME directory | +| `cgu` | `composer global update` | Allows update command to run on COMPOSER_HOME directory | +| `ci` | `composer install` | Resolves and installs dependencies from `composer.json` | +| `co` | `composer outdated` | Shows a list of installed packages with available updates | +| `cod` | `composer outdated --direct` | Shows a list of installed packages with available updates which are direct dependencies | +| `cr` | `composer require` | Adds new packages to `composer.json` | +| `crm` | `composer remove` | Removes packages from `composer.json` | +| `cs` | `composer show` | Lists available packages, with optional filtering | +| `csu` | `composer self-update` | Updates composer to the latest version | +| `cu` | `composer update` | Updates composer dependencies and `composer.lock` file | +| `cuh` | `composer update -d <config-home>` | Updates globally installed packages | diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index a3883a1f2..dd0b18e27 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -48,6 +48,7 @@ alias crm='composer remove' alias cs='composer show' alias csu='composer self-update' alias cu='composer update' +alias cuh='composer update --working-dir=$(composer config -g home)' ## If Composer not found, try to add known directories to $PATH -- cgit v1.2.3-70-g09d2