aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAdam Vandenberg2009-07-31 09:45:04 -0700
committerMax Howell2009-08-02 01:25:02 +0100
commitfe71812af6285447d293a7e1fd223a1126b6d299 (patch)
treeb60a2f7cc93def963760a772eebcf0db92479c9d /Library
parentfdc091ed42326867213527f65640a1174f001869 (diff)
downloadbrew-fe71812af6285447d293a7e1fd223a1126b6d299.tar.bz2
Add all commands to the bash completion script.
Diffstat (limited to 'Library')
-rw-r--r--Library/Contributions/brew_bash_completion.sh41
1 files changed, 27 insertions, 14 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh
index f7eec530e..a5fa9aad8 100644
--- a/Library/Contributions/brew_bash_completion.sh
+++ b/Library/Contributions/brew_bash_completion.sh
@@ -1,3 +1,10 @@
+# This script contains bash completions for brew.
+# To use, edit your .bashrc and add the line:
+# source <path-to-homebrew>/Library/Contributions/brew_bash_completion.sh
+#
+# Assuming you have brew installed in /usr/local, then you'll want:
+# source /usr/local/Library/Contributions/brew_bash_completion.sh
+
_brew_to_completion()
{
local actions cur prev
@@ -7,28 +14,34 @@ _brew_to_completion()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
- actions="install rm list info ln edit"
+ # We only complete unabbreviated commands...
+ actions="edit info install list link make uninstall"
- # Command list
+ # Subcommand list
if [[ ( ${COMP_CWORD} -eq 1 ) && ( ${COMP_WORDS[0]} == brew ) ]] ; then
COMPREPLY=( $(compgen -W "${actions}" -- ${cur}) )
return 0
- # Handle subcommands
+ # Subcommands
else
brew_base=`which brew`
brew_base=`dirname ${brew_base}`/..
- # Commands that take an existing brew...
- if [[ ($prev == "list") || ($prev == "ln") || ($prev == "rm") || ($prev == "info") ]] ; then
- cellar_contents=`ls ${brew_base}/Cellar/`
- COMPREPLY=( $(compgen -W "${cellar_contents}" -- ${cur}) )
- return 0
- # Commands that take a formula...
- elif [[ ($prev == "install") ]] ; then
- formulae=`ls ${brew_base}/Library/Formula/ | sed "s/\.rb//g"`
- COMPREPLY=( $(compgen -W "${formulae}" -- ${cur}) )
- return 0
- fi
+ case ${prev} in
+ # Commands that take a formula...
+ edit|install)
+ formulae=`ls ${brew_base}/Library/Formula/ | sed "s/\.rb//g"`
+ COMPREPLY=( $(compgen -W "${formulae}" -- ${cur}) )
+ return 0
+ ;;
+
+ # Commands that take an existing brew...
+ abv|info|list|link|ls|ln|rm|uninstall)
+ cellar_contents=`ls ${brew_base}/Cellar/`
+ COMPREPLY=( $(compgen -W "${cellar_contents}" -- ${cur}) )
+ return 0
+ ;;
+
+ esac
fi
}