From 3afacc351c44c4cee08c181e7c761f44e8b43722 Mon Sep 17 00:00:00 2001 From: tim smith Date: Tue, 5 Apr 2016 09:48:28 -0700 Subject: [PATCH] Speed up tab completion Fixes #20. Closes #23. --- etc/bash_completion.d/brew | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/etc/bash_completion.d/brew b/etc/bash_completion.d/brew index 0a709d7f2b..6e3cc76c3b 100644 --- a/etc/bash_completion.d/brew +++ b/etc/bash_completion.d/brew @@ -45,23 +45,9 @@ __brewcomp () __brew_complete_formulae () { local cur="${COMP_WORDS[COMP_CWORD]}" - local lib=$(brew --repository)/Library - local taps=${lib}/Taps - local ff=$(\ls ${lib}/Formula 2>/dev/null | sed 's/\.rb//g') - local af=$(\ls ${lib}/Aliases 2>/dev/null) - local tf file - - for file in ${taps}/*/*/*.rb ${taps}/*/*/Formula/*.rb ${taps}/*/*/HomebrewFormula/*.rb; do - [ -f "$file" ] || continue - file=${file/"Formula/"/} - file=${file/"HomebrewFormula/"/} - file=${file#${lib}/Taps/} - file=${file%.rb} - file=${file/homebrew-/} - tf="${tf} ${file}" - done - - COMPREPLY=($(compgen -W "$ff $af $tf" -- "$cur")) + local formulas="$(brew search)" + local shortnames="$(echo "$formulas" | grep / | cut -d / -f 3)" + COMPREPLY=($(compgen -W "$formulas $shortnames" -- "$cur")) } __brew_complete_installed ()