From f5cc26ffc66ef6b987cc853d7e1d4840218b001a Mon Sep 17 00:00:00 2001 From: Jonathan Chang Date: Wed, 27 Jan 2021 13:43:47 +1100 Subject: [PATCH] zsh: add guards to speed up completions If we type `brew install -` we shouldn't try to shell out to Ruby to get a list of formulae for completions. --- Library/Homebrew/completions/zsh.erb | 16 ++++++++++++++++ completions/zsh/_brew | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/Library/Homebrew/completions/zsh.erb b/Library/Homebrew/completions/zsh.erb index 0cfb22c9bc..2f401de7a1 100644 --- a/Library/Homebrew/completions/zsh.erb +++ b/Library/Homebrew/completions/zsh.erb @@ -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' } diff --git a/completions/zsh/_brew b/completions/zsh/_brew index ea24e0e408..a91f6b4635 100644 --- a/completions/zsh/_brew +++ b/completions/zsh/_brew @@ -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' }