|
|
|
|
@ -33,6 +33,10 @@ _brew_outdated_formulae() { |
|
|
|
|
outdated_formulae=(`brew outdated`) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_brew_installed_services() { |
|
|
|
|
installed_services=(`brew services list | awk '{print $1}' | tail -n+2`) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
local -a _1st_arguments |
|
|
|
|
_1st_arguments=( |
|
|
|
|
'audit:check formulae for Homebrew coding style' |
|
|
|
|
@ -64,6 +68,7 @@ _1st_arguments=( |
|
|
|
|
'prune:remove dead links' |
|
|
|
|
'remove:remove a formula' |
|
|
|
|
'search:search for a formula (/regex/ or string)' |
|
|
|
|
'services:manage services' |
|
|
|
|
'switch:switch between different versions of a formula' |
|
|
|
|
'tap:tap a new formula repository from GitHub, or list existing taps' |
|
|
|
|
'tap-info:information about a tap' |
|
|
|
|
@ -82,7 +87,7 @@ _1st_arguments=( |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local expl |
|
|
|
|
local -a formulae installed_formulae installed_taps official_taps outdated_formulae |
|
|
|
|
local -a formulae installed_formulae installed_taps official_taps outdated_formulae installed_services |
|
|
|
|
|
|
|
|
|
_arguments \ |
|
|
|
|
'(-v)-v[verbose]' \ |
|
|
|
|
@ -142,4 +147,28 @@ case "$words[1]" in |
|
|
|
|
upgrade) |
|
|
|
|
_brew_outdated_formulae |
|
|
|
|
_wanted outdated_formulae expl 'outdated formulae' compadd -a outdated_formulae ;; |
|
|
|
|
services) |
|
|
|
|
_arguments -C \ |
|
|
|
|
'1: :->command' \ |
|
|
|
|
'2: :->service' && return 0 |
|
|
|
|
|
|
|
|
|
local -a commands |
|
|
|
|
|
|
|
|
|
commands=( |
|
|
|
|
'cleanup:Get rid of stale services and unused plists' |
|
|
|
|
'list:List all services managed by brew services' |
|
|
|
|
'restart:Gracefully restart selected service' |
|
|
|
|
'start:Start selected service' |
|
|
|
|
'stop:Stop selected service' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
command) |
|
|
|
|
_describe -t commands 'Action' commands |
|
|
|
|
;; |
|
|
|
|
service) |
|
|
|
|
_brew_installed_services |
|
|
|
|
_describe -t subcommands 'Services' installed_services |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
esac |
|
|
|
|
|