zsh: add guards to speed up completions

If we type `brew install -<TAB>` we shouldn't try to shell out to Ruby
to get a list of formulae for completions.
This commit is contained in:
Jonathan Chang 2021-01-27 13:43:47 +11:00
parent f7a718c1fc
commit f5cc26ffc6
2 changed files with 32 additions and 0 deletions

View File

@ -49,6 +49,8 @@ __brew_completion_caching_policy() {
}
__brew_formulae() {
[[ -prefix '-' ]] && return 0
local -a list
local comp_cachename=brew_formulae
if ! _retrieve_cache $comp_cachename; then
@ -59,18 +61,24 @@ __brew_formulae() {
}
__brew_installed_formulae() {
[[ -prefix '-' ]] && return 0
local -a formulae
formulae=($(brew list --formula))
_describe -t formulae 'installed formulae' formulae
}
__brew_outdated_formulae() {
[[ -prefix '-' ]] && return 0
local -a formulae
formulae=($(brew outdated --formula))
_describe -t formulae 'outdated formulae' formulae
}
__brew_casks() {
[[ -prefix '-' ]] && return 0
local -a list
local expl
local comp_cachename=brew_casks
@ -84,6 +92,8 @@ __brew_casks() {
}
__brew_installed_casks() {
[[ -prefix '-' ]] && return 0
local -a list
local expl
list=( $(brew list --cask) )
@ -91,18 +101,24 @@ __brew_installed_casks() {
}
__brew_outdated_casks() {
[[ -prefix '-' ]] && return 0
local -a casks
casks=($(brew outdated --cask))
_describe -t casks 'outdated casks' casks
}
__brew_installed_taps() {
[[ -prefix '-' ]] && return 0
local -a taps
taps=($(brew tap))
_describe -t installed-taps 'installed taps' taps
}
__brew_any_tap() {
[[ -prefix '-' ]] && return 0
_alternative \
'installed-taps:installed taps:__brew_installed_taps'
}

View File

@ -52,6 +52,8 @@ __brew_completion_caching_policy() {
}
__brew_formulae() {
[[ -prefix '-' ]] && return 0
local -a list
local comp_cachename=brew_formulae
if ! _retrieve_cache $comp_cachename; then
@ -62,18 +64,24 @@ __brew_formulae() {
}
__brew_installed_formulae() {
[[ -prefix '-' ]] && return 0
local -a formulae
formulae=($(brew list --formula))
_describe -t formulae 'installed formulae' formulae
}
__brew_outdated_formulae() {
[[ -prefix '-' ]] && return 0
local -a formulae
formulae=($(brew outdated --formula))
_describe -t formulae 'outdated formulae' formulae
}
__brew_casks() {
[[ -prefix '-' ]] && return 0
local -a list
local expl
local comp_cachename=brew_casks
@ -87,6 +95,8 @@ __brew_casks() {
}
__brew_installed_casks() {
[[ -prefix '-' ]] && return 0
local -a list
local expl
list=( $(brew list --cask) )
@ -94,18 +104,24 @@ __brew_installed_casks() {
}
__brew_outdated_casks() {
[[ -prefix '-' ]] && return 0
local -a casks
casks=($(brew outdated --cask))
_describe -t casks 'outdated casks' casks
}
__brew_installed_taps() {
[[ -prefix '-' ]] && return 0
local -a taps
taps=($(brew tap))
_describe -t installed-taps 'installed taps' taps
}
__brew_any_tap() {
[[ -prefix '-' ]] && return 0
_alternative \
'installed-taps:installed taps:__brew_installed_taps'
}