# brew-completion: bash completion function for Homebrew (brew command)
-# Copyright (c)1020 Alexander Barton <alex@barton.de>
+# Copyright (c)2010 Alexander Barton <alex@barton.de>
# This is free software and published under the terms of the GNU
# General Public License, see the file COPYING for details.
local formulae prefix
prefix=`brew --prefix`
- pushd "$prefix"/Library/Formula >/dev/null
- formulae=`echo * | sed 's/\.rb//g'`
- popd >/dev/null
+ formulae=`brew search`
COMPREPLY=( $(compgen -W '$formulae' -- "$1") )
}
local formulae prefix
prefix=`brew --prefix`
- pushd "$prefix"/Cellar >/dev/null
- formulae=`echo *`
- popd >/dev/null
+ formulae=`brew list`
COMPREPLY=( $(compgen -W '$formulae' -- "$1") )
}
declare -i i=$COMP_CWORD-1
while [ $i -gt 0 ]; do
- if [[ ${COMP_WORDS[i]} != -* ]]; then
+ if [[ ${COMP_WORDS[i]} != -* \
+ || ${COMP_WORDS[i]} == "--cache" \
+ || ${COMP_WORDS[i]} == "--cellar" \
+ || ${COMP_WORDS[i]} == "--prefix" ]]; then
cmd=${COMP_WORDS[i]}
break
fi
done
case "$cmd" in
- "edit"|"home"|"log"|"prune")
+ "cleanup"|"edit"|"home"|"log"|"prune" \
+ |"--cache"|"--cellar"|"--prefix")
_brew_formula "$cur"
return 0
;;
;;
"list")
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $(compgen -W '--brewed \
+ COMPREPLY=( $(compgen -W '
--unbrewed' -- "$cur") )
else
_brew_formula "$cur"
esac
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $(compgen -W '--cache --help --prefix --version \
- -v -H' -- "$cur") )
+ COMPREPLY=( $(compgen -W '--cache --cellar --help --prefix \
+ --version -v -H' -- "$cur") )
elif [ "$cmd" = "" ]; then
- COMPREPLY=( $(compgen -W 'create edit home info install \
- link list log prune remove search uninstall unlink \
- update' -- "$cur") )
+ COMPREPLY=( $(compgen -W 'cleanup create edit home info \
+ install link list log outdated prune remove search \
+ uninstall unlink update' -- "$cur") )
fi
}
complete -F _brew brew