X-Git-Url: https://arthur.barton.de/gitweb/?p=brew-completion.git;a=blobdiff_plain;f=brew-completion.sh;h=54fd003285209cfe3b7dac770aeab8a8e4676655;hp=6cca8a3e9aaa77f7f522c30588d24bc525d54be5;hb=HEAD;hpb=5193217affcabda4b1cd0425e43b49083ae66ec5 diff --git a/brew-completion.sh b/brew-completion.sh index 6cca8a3..54fd003 100644 --- a/brew-completion.sh +++ b/brew-completion.sh @@ -31,8 +31,16 @@ _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 @@ -48,25 +56,25 @@ _brew() done case "$cmd" in - "cat"|"cleanup"|"deps"|"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" @@ -75,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" @@ -93,9 +102,6 @@ _brew() fi return 0 ;; - "search"|"update"|"--config") - return 0 - ;; *) for c in $EXTCMD; do if [ "$cmd" = "$c" ]; then @@ -107,12 +113,13 @@ _brew() if [[ "$cur" == -* ]]; then COMPREPLY=( $(compgen -W '--cache --cellar --config \ - --help --prefix --version -v -H' \ + --env --help --prefix --version -v -H' \ -- "$cur") ) elif [ "$cmd" = "" ]; then - COMPREPLY=( $(compgen -W 'cat cleanup create deps edit home \ - info install link list log outdated prune remove \ - search uninstall unlink update $EXTCMD' \ + 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 }