summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2016-09-12 17:45:10 +0200
committerGitHub <noreply@github.com>2016-09-12 17:45:10 +0200
commite1294c602cd2ca82bac363d8d909dbf5d0e7e441 (patch)
tree18242b9c44387ac21d9400d5bf8cbb3eddd32c31 /plugins
parentc3a87e7df8bfd7eca64ef8a3d019c619d098960c (diff)
parent7c630309cc3a2267f3a08eaf1c408ee4069ee5a7 (diff)
downloadzsh-e1294c602cd2ca82bac363d8d909dbf5d0e7e441.tar.gz
zsh-e1294c602cd2ca82bac363d8d909dbf5d0e7e441.tar.bz2
zsh-e1294c602cd2ca82bac363d8d909dbf5d0e7e441.zip
Merge pull request #4313 from RomanKapitonov/add-services-managing-to-brew
Add ability to autocomplete services for brew-services.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/brew/_brew31
1 files changed, 30 insertions, 1 deletions
diff --git a/plugins/brew/_brew b/plugins/brew/_brew
index 1f24bd67b..19cfb22cb 100644
--- a/plugins/brew/_brew
+++ b/plugins/brew/_brew
@@ -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