| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | #compdef brew | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  | #autoload | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Brew ZSH completion function | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # altered from _fink | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _brew_all_formulae() { | 
					
						
							|  |  |  |   formulae=(`brew search`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _brew_installed_formulae() { | 
					
						
							|  |  |  |   installed_formulae=(`brew list`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-08 13:25:20 +02:00
										 |  |  | _brew_installed_taps() { | 
					
						
							|  |  |  |   installed_taps=(`brew tap`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-03 20:39:00 +02:00
										 |  |  | _brew_official_taps() { | 
					
						
							|  |  |  |   official_taps=(`brew tap --list-official`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-21 12:39:50 +08:00
										 |  |  | _brew_pinned_taps() { | 
					
						
							|  |  |  |   pinned_taps=(`brew tap --list-pinned`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-29 14:35:16 +09:00
										 |  |  | _brew_outdated_formulae() { | 
					
						
							|  |  |  |   outdated_formulae=(`brew outdated`) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | local -a _1st_arguments | 
					
						
							|  |  |  | _1st_arguments=( | 
					
						
							| 
									
										
										
										
											2013-09-05 10:19:23 -04:00
										 |  |  |   'audit:check formulae for Homebrew coding style' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'cat:display formula file for a formula' | 
					
						
							|  |  |  |   'cleanup:uninstall unused and old versions of packages' | 
					
						
							| 
									
										
										
										
											2013-09-14 16:58:26 -07:00
										 |  |  |   'commands:show a list of commands' | 
					
						
							| 
									
										
										
										
											2014-05-01 13:04:26 +08:00
										 |  |  |   'config:show homebrew and system configuration' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'create:create a new formula' | 
					
						
							|  |  |  |   'deps:list dependencies and dependants of a formula' | 
					
						
							| 
									
										
										
										
											2015-05-05 15:29:01 -07:00
										 |  |  |   'desc:display a description of a formula' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'doctor:audits your installation for common issues' | 
					
						
							|  |  |  |   'edit:edit a formula' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'fetch:download formula resources to the cache' | 
					
						
							|  |  |  |   'gist-logs:generate a gist of the full build logs' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'home:visit the homepage of a formula or the brew project' | 
					
						
							|  |  |  |   'info:information about a formula' | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |   'install:install a formula' | 
					
						
							| 
									
										
										
										
											2013-08-22 10:14:56 -04:00
										 |  |  |   'reinstall:install a formula anew; re-using its current options' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'leaves:show installed formulae that are not dependencies of another installed formula' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'link:link a formula' | 
					
						
							| 
									
										
										
										
											2015-10-20 08:10:50 +02:00
										 |  |  |   'linkapps:symlink .app bundles provided by formulae into /Applications' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'list:list files in a formula or not-installed formulae' | 
					
						
							|  |  |  |   'log:git commit log for a formula' | 
					
						
							| 
									
										
										
										
											2010-12-20 10:07:03 -08:00
										 |  |  |   'missing:check all installed formuale for missing dependencies.' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'migrate:migrate renamed formula to new name' | 
					
						
							| 
									
										
										
										
											2013-01-26 13:16:55 +00:00
										 |  |  |   'outdated:list formulae for which a newer version is available' | 
					
						
							| 
									
										
										
										
											2013-03-11 16:41:08 +01:00
										 |  |  |   'pin:pin specified formulae' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'postinstall:perform post_install for a given formula' | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  |   'prune:remove dead links' | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |   'remove:remove a formula' | 
					
						
							|  |  |  |   'search:search for a formula (/regex/ or string)' | 
					
						
							| 
									
										
										
										
											2014-03-29 13:11:22 +01:00
										 |  |  |   'switch:switch between different versions of a formula' | 
					
						
							| 
									
										
										
										
											2013-06-21 19:36:34 -07:00
										 |  |  |   'tap:tap a new formula repository from GitHub, or list existing taps' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'tap-info:information about a tap' | 
					
						
							| 
									
										
										
										
											2015-08-21 12:39:50 +08:00
										 |  |  |   'tap-pin:pin a tap' | 
					
						
							|  |  |  |   'tap-unpin:unpin a tap' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'test-bot:test a formula and build a bottle' | 
					
						
							|  |  |  |   'uninstall:uninstall a formula' | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |   'unlink:unlink a formula' | 
					
						
							| 
									
										
										
										
											2015-10-20 08:10:50 +02:00
										 |  |  |   'unlinkapps:remove symlinked .app bundles provided by formulae from /Applications' | 
					
						
							| 
									
										
										
										
											2013-03-11 16:41:08 +01:00
										 |  |  |   'unpin:unpin specified formulae' | 
					
						
							| 
									
										
										
										
											2013-06-21 19:36:34 -07:00
										 |  |  |   'untap:remove a tapped repository' | 
					
						
							| 
									
										
										
										
											2015-08-17 15:29:50 +08:00
										 |  |  |   'update:fetch latest version of Homebrew and all formulae' | 
					
						
							| 
									
										
										
										
											2011-09-29 14:35:16 +09:00
										 |  |  |   'upgrade:upgrade outdated formulae' | 
					
						
							| 
									
										
										
										
											2013-01-26 13:16:55 +00:00
										 |  |  |   'uses:show formulae which depend on a formula' | 
					
						
							| 
									
										
										
										
											2015-07-10 23:22:46 +08:00
										 |  |  |   `brew commands --quiet --include-aliases` | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | local expl | 
					
						
							| 
									
										
										
										
											2015-08-03 20:39:00 +02:00
										 |  |  | local -a formulae installed_formulae installed_taps official_taps outdated_formulae | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | _arguments \ | 
					
						
							| 
									
										
										
										
											2011-02-08 21:04:54 -05:00
										 |  |  |   '(-v)-v[verbose]' \ | 
					
						
							|  |  |  |   '(--cellar)--cellar[brew cellar]' \ | 
					
						
							|  |  |  |   '(--env)--env[brew environment]' \ | 
					
						
							|  |  |  |   '(--repository)--repository[brew repository]' \ | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |   '(--version)--version[version information]' \ | 
					
						
							|  |  |  |   '(--prefix)--prefix[where brew lives on this system]' \ | 
					
						
							|  |  |  |   '(--cache)--cache[brew cache]' \ | 
					
						
							|  |  |  |   '*:: :->subcmds' && return 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (( CURRENT == 1 )); then | 
					
						
							|  |  |  |   _describe -t commands "brew subcommand" _1st_arguments | 
					
						
							|  |  |  |   return | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | case "$words[1]" in | 
					
						
							| 
									
										
										
										
											2015-05-05 15:29:01 -07:00
										 |  |  |   install|reinstall|audit|home|homepage|log|info|abv|uses|cat|deps|desc|edit|options|switch) | 
					
						
							| 
									
										
										
										
											2014-01-22 16:36:33 -05:00
										 |  |  |     _brew_all_formulae | 
					
						
							|  |  |  |     _wanted formulae expl 'all formulae' compadd -a formulae ;; | 
					
						
							| 
									
										
										
										
											2015-10-20 08:10:50 +02:00
										 |  |  |   linkapps|unlinkapps) | 
					
						
							|  |  |  |     _arguments \ | 
					
						
							|  |  |  |       '(--local)--local[operate on ~/Applications instead of /Applications]' \ | 
					
						
							|  |  |  |       '1: :->forms' && return 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [[ "$state" == forms ]]; then | 
					
						
							|  |  |  |       _brew_installed_formulae | 
					
						
							|  |  |  |       _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae | 
					
						
							|  |  |  |     fi ;; | 
					
						
							| 
									
										
										
										
											2011-02-08 21:04:54 -05:00
										 |  |  |   list|ls) | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |     _arguments \ | 
					
						
							|  |  |  |       '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ | 
					
						
							| 
									
										
										
										
											2013-03-11 16:41:08 +01:00
										 |  |  |       '(--pinned)--pinned[list all versions of pinned formulae]' \ | 
					
						
							| 
									
										
										
										
											2010-09-25 21:17:05 +01:00
										 |  |  |       '(--versions)--versions[list all installed versions of a formula]' \ | 
					
						
							| 
									
										
										
										
											2014-01-22 16:36:33 -05:00
										 |  |  |       '1: :->forms' && return 0 | 
					
						
							| 
									
										
										
										
											2010-04-28 22:28:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |       if [[ "$state" == forms ]]; then | 
					
						
							|  |  |  |         _brew_installed_formulae | 
					
						
							| 
									
										
										
										
											2010-09-25 21:17:05 +01:00
										 |  |  |         _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |       fi ;; | 
					
						
							| 
									
										
										
										
											2013-03-11 16:41:08 +01:00
										 |  |  |   remove|rm|uninstall|unlink|cleanup|link|ln|pin|unpin) | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  |     _brew_installed_formulae | 
					
						
							|  |  |  |     _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; | 
					
						
							| 
									
										
										
										
											2014-01-22 16:36:33 -05:00
										 |  |  |   search|-S) | 
					
						
							|  |  |  |     _arguments \ | 
					
						
							|  |  |  |       '(--macports)--macports[search the macports repository]' \ | 
					
						
							|  |  |  |       '(--fink)--fink[search the fink repository]' ;; | 
					
						
							| 
									
										
										
										
											2015-08-21 12:39:50 +08:00
										 |  |  |   untap|tap-info|tap-pin) | 
					
						
							| 
									
										
										
										
											2013-07-08 13:25:20 +02:00
										 |  |  |     _brew_installed_taps | 
					
						
							| 
									
										
										
										
											2014-06-04 16:04:16 -05:00
										 |  |  |     _wanted installed_taps expl 'installed taps' compadd -a installed_taps ;; | 
					
						
							| 
									
										
										
										
											2015-08-03 20:39:00 +02:00
										 |  |  |   tap) | 
					
						
							|  |  |  |     _brew_official_taps | 
					
						
							|  |  |  |     _wanted official_taps expl 'official taps' compadd -a official_taps ;; | 
					
						
							| 
									
										
										
										
											2015-08-21 12:39:50 +08:00
										 |  |  |   tap-unpin) | 
					
						
							|  |  |  |     _brew_pinned_taps | 
					
						
							|  |  |  |     _wanted pinned_taps expl 'pinned taps' compadd -a pinned_taps ;; | 
					
						
							| 
									
										
										
										
											2014-01-22 16:36:33 -05:00
										 |  |  |   upgrade) | 
					
						
							| 
									
										
										
										
											2016-02-07 22:09:46 +09:00
										 |  |  |     _arguments \ | 
					
						
							|  |  |  |       '(--cleanup)--cleanup[remove previously installed formula version(s)]' \ | 
					
						
							|  |  |  |       '1: :->forms' && return 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [[ "$state" == forms ]]; then | 
					
						
							|  |  |  |       _brew_outdated_formulae | 
					
						
							|  |  |  |       _wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae | 
					
						
							|  |  |  |     fi ;; | 
					
						
							| 
									
										
										
										
											2009-10-26 10:54:32 -04:00
										 |  |  | esac |