| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | # ------------------------------------------------------------------------------ | 
					
						
							|  |  |  | #          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 () { | 
					
						
							| 
									
										
										
										
											2015-12-06 13:56:10 +01:00
										 |  |  |     $_comp_command1 --no-ansi 2>/dev/null | sed "1,/Available commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-21 12:21:25 +03:00
										 |  |  | _composer_get_required_list () { | 
					
						
							| 
									
										
										
										
											2015-12-06 13:56:10 +01:00
										 |  |  |     $_comp_command1 show -s --no-ansi 2>/dev/null | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }' | 
					
						
							| 
									
										
										
										
											2013-06-21 12:21:25 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | _composer () { | 
					
						
							| 
									
										
										
										
											2020-02-28 19:28:55 +01:00
										 |  |  |     local curcontext="$curcontext" state line | 
					
						
							|  |  |  |     typeset -A opt_args | 
					
						
							|  |  |  |     _arguments \
 | 
					
						
							|  |  |  |         '*:: :->subcmds' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (( CURRENT == 1 )) || ( ((CURRENT == 2)) && [ "$words[1]" = "global" ] ) ; then | 
					
						
							|  |  |  |         compadd $(_composer_get_command_list) | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         compadd $(_composer_get_required_list) | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | compdef _composer composer | 
					
						
							| 
									
										
										
										
											2013-07-26 00:37:11 +07:00
										 |  |  | compdef _composer composer.phar | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Aliases | 
					
						
							|  |  |  | alias c='composer' | 
					
						
							|  |  |  | alias csu='composer self-update' | 
					
						
							|  |  |  | alias cu='composer update' | 
					
						
							| 
									
										
										
										
											2013-08-17 17:11:21 +02:00
										 |  |  | alias cr='composer require' | 
					
						
							| 
									
										
										
										
											2017-02-20 13:21:36 -05:00
										 |  |  | alias crm='composer remove' | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | alias ci='composer install' | 
					
						
							|  |  |  | alias ccp='composer create-project' | 
					
						
							| 
									
										
										
										
											2013-02-28 11:50:39 +01:00
										 |  |  | alias cdu='composer dump-autoload' | 
					
						
							| 
									
										
										
										
											2020-04-13 19:53:52 +04:30
										 |  |  | alias cdo='composer dump-autoload -o' | 
					
						
							| 
									
										
										
										
											2013-08-17 17:11:21 +02:00
										 |  |  | alias cgu='composer global update' | 
					
						
							|  |  |  | alias cgr='composer global require' | 
					
						
							| 
									
										
										
										
											2017-02-20 13:21:36 -05:00
										 |  |  | alias cgrm='composer global remove' | 
					
						
							| 
									
										
										
										
											2016-05-30 10:03:40 +02:00
										 |  |  | alias co='composer outdated' | 
					
						
							|  |  |  | alias cod='composer outdated --direct' | 
					
						
							| 
									
										
										
										
											2012-10-05 21:13:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-05 21:14:44 +01:00
										 |  |  | # install composer in the current directory | 
					
						
							| 
									
										
										
										
											2013-03-13 04:06:16 +01:00
										 |  |  | alias cget='curl -s https://getcomposer.org/installer | php' | 
					
						
							| 
									
										
										
										
											2014-06-01 19:28:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-19 15:46:22 -04:00
										 |  |  | # Add Composer's global binaries to PATH, using Composer if available. | 
					
						
							|  |  |  | if (( $+commands[composer] )); then | 
					
						
							| 
									
										
										
										
											2018-03-06 22:10:34 +01:00
										 |  |  |     _retrieve_cache composer | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     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 | 
					
						
							| 
									
										
										
										
											2018-08-19 15:46:22 -04:00
										 |  |  | 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 |