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

View File

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