X-Git-Url: https://arthur.barton.de/gitweb/?p=brew-completion.git;a=blobdiff_plain;f=brew-completion.sh;h=54fd003285209cfe3b7dac770aeab8a8e4676655;hp=e72353479d2351c57f254bbd8331b94c6a00bcab;hb=HEAD;hpb=8a544f401b71c006992c5cf25482e1c03a8d6572 diff --git a/brew-completion.sh b/brew-completion.sh index e723534..54fd003 100644 --- a/brew-completion.sh +++ b/brew-completion.sh @@ -31,14 +31,23 @@ _brew() cmd="" # Get list of all available external commands - EXTCMD=`cd /usr/local/bin; ls -1 brew-* | cut -d'.' -f1 \ - | cut -d'-' -f2- | sed -e 's/\*//g'` + extcmdpath="`brew --prefix`/Library/Homebrew/cmd"; + if [ -d "$extcmdpath" ]; then + EXTCMD="$EXTCMD `cd "$extcmdpath"; ls -1 -- *.rb 2>/dev/null \ + | cut -d'.' -f1`" + fi + examplespath="`brew --prefix`/Library/Contributions/examples" + if [ -d "$examplespath" ]; then + EXTCMD="$EXTCMD `cd "$examplespath"; ls -1 -- brew-* 2>/dev/null \ + | cut -d'.' -f1 | cut -d'-' -f2- | sed -e 's/\*//g'`" + fi declare -i i=$COMP_CWORD-1 while [ $i -gt 0 ]; do if [[ ${COMP_WORDS[i]} != -* \ || ${COMP_WORDS[i]} == "--cache" \ || ${COMP_WORDS[i]} == "--cellar" \ + || ${COMP_WORDS[i]} == "--config" \ || ${COMP_WORDS[i]} == "--prefix" ]]; then cmd=${COMP_WORDS[i]} break @@ -47,25 +56,25 @@ _brew() done case "$cmd" in - "cleanup"|"edit"|"home"|"log"|"prune" \ + "cat"|"cleanup"|"deps"|"edit"|"home"|"log"|"prune"|"uses" \ |"--cache"|"--cellar"|"--prefix") _brew_formula "$cur" return 0 ;; - "link"|"remove"|"uninstall"|"unlink") + "link"|"remove"|"rm"|"uninstall"|"unlink") _brew_formula_installed "$cur" return 0 ;; "create") if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '--macports' \ - -- "$cur") ) + COMPREPLY=( $(compgen -W '--macports --fink \ + --cache' -- "$cur") ) fi return 0 ;; "info") if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '--github' \ + COMPREPLY=( $(compgen -W '--all --github' \ -- "$cur") ) else _brew_formula "$cur" @@ -74,9 +83,10 @@ _brew() ;; "install") if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '--HEAD -H \ - --debug -d --interactive -i - --verbose -v --ignore-dependencies' \ + COMPREPLY=( $(compgen -W '--git --HEAD -H \ + --debug -d --force -f \ + --interactive -i --verbose -v \ + --ignore-dependencies --use-llvm' \ -- "$cur") ) else _brew_formula "$cur" @@ -92,9 +102,6 @@ _brew() fi return 0 ;; - "search"|"update") - return 0 - ;; *) for c in $EXTCMD; do if [ "$cmd" = "$c" ]; then @@ -105,12 +112,15 @@ _brew() esac if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '--cache --cellar --help --prefix \ - --version -v -H' -- "$cur") ) + COMPREPLY=( $(compgen -W '--cache --cellar --config \ + --env --help --prefix --version -v -H' \ + -- "$cur") ) elif [ "$cmd" = "" ]; then - COMPREPLY=( $(compgen -W 'cleanup create edit home info \ - install link list log outdated prune remove search \ - uninstall unlink update $EXTCMD' -- "$cur") ) + COMPREPLY=( $(compgen -W 'cat cleanup create deps doctor \ + edit home info install link list log outdated prune \ + remove rm search uninstall unlink up update uses \ + $EXTCMD' \ + -- "$cur") ) fi } complete -F _brew brew