summaryrefslogtreecommitdiff
path: root/plugins/composer
diff options
context:
space:
mode:
authorKozlov Alexander <badryke@gmail.com>2018-11-16 13:38:43 +0300
committerGitHub <noreply@github.com>2018-11-16 13:38:43 +0300
commit8c95c52353118643ac3dbd9b0c185a3129b84bf8 (patch)
treeee7497251b7a541480ae5c6a97b63b14381ed5ee /plugins/composer
parentdd30cf104c9ca42d89d26a134382ca421869ce7e (diff)
parent3d8f2bda599c8c6d160dc448e5ab28aaf2d5e90d (diff)
downloadzsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.gz
zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.bz2
zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.zip
Merge branch 'master' into master
Diffstat (limited to 'plugins/composer')
-rw-r--r--plugins/composer/README.md29
-rw-r--r--plugins/composer/composer.plugin.zsh9
2 files changed, 36 insertions, 2 deletions
diff --git a/plugins/composer/README.md b/plugins/composer/README.md
new file mode 100644
index 000000000..2b4bae579
--- /dev/null
+++ b/plugins/composer/README.md
@@ -0,0 +1,29 @@
+# composer
+
+This plugin provides completion for [composer](https://getcomposer.org/), as well as aliases
+for frequent composer commands. It also adds Composer's global binaries to the PATH, using
+Composer if available.
+
+To use it add `composer` to the plugins array in your zshrc file.
+
+```zsh
+plugins=(... composer)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+| ------ | -------------------------------------------- | -------------------------------------------------------------------------------------- |
+| `c` | composer | Starts composer |
+| `csu` | composer self-update | Updates composer to the latest version |
+| `cu` | composer update | Updates composer dependencies and `composer.lock` file |
+| `cr` | composer require | Adds new packages to `composer.json` |
+| `crm` | composer remove | Removes packages from `composer.json` |
+| `ci` | composer install | Resolves and installs dependencies from `composer.json` |
+| `ccp` | composer create-project | Create new project from an existing package |
+| `cdu` | composer dump-autoload | Updates the autoloader |
+| `cdo` | composer dump-autoload --optimize-autoloader | Converts PSR-0/4 autoloading to classmap for a faster autoloader (good for production) |
+| `cgu` | composer global update | Allows update command to run on COMPOSER_HOME 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 |
+| `cget` | `curl -s https://getcomposer.org/installer` | Installs composer in the current directory |
diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh
index d00813e39..634961023 100644
--- a/plugins/composer/composer.plugin.zsh
+++ b/plugins/composer/composer.plugin.zsh
@@ -51,5 +51,10 @@ 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
-export PATH=$PATH:$(composer global config bin-dir --absolute 2>/dev/null)
+# 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