aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2012-03-16 19:09:24 -0500
committerJack Nagel2012-03-16 19:18:54 -0500
commitee0041f29021cd941493cd6d9464690b934b3b7b (patch)
tree8942339fe746f0b2b9a9b90bb3361ba3957042bc /Library
parentab01c1e3579c5065c036a4bd5c9a565e118acf2a (diff)
downloadbrew-ee0041f29021cd941493cd6d9464690b934b3b7b.tar.bz2
Appease the masses
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Contributions/brew_bash_completion.sh588
1 files changed, 295 insertions, 293 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh
index 35a8b3a65..313517e4a 100644
--- a/Library/Contributions/brew_bash_completion.sh
+++ b/Library/Contributions/brew_bash_completion.sh
@@ -37,403 +37,405 @@
__brewcomp_words_include ()
{
- local i=1
- while [[ $i -lt $COMP_CWORD ]]; do
- if [[ "${COMP_WORDS[i]}" = "$1" ]]; then
- return 0
- fi
- i=$((++i))
- done
- return 1
+ local i=1
+ while [[ $i -lt $COMP_CWORD ]]; do
+ if [[ "${COMP_WORDS[i]}" = "$1" ]]; then
+ return 0
+ fi
+ i=$((++i))
+ done
+ return 1
}
# Find the previous non-switch word
__brewcomp_prev ()
{
- local idx=$((COMP_CWORD - 1))
- local prv="${COMP_WORDS[idx]}"
- while [[ $prv == -* ]]; do
- idx=$((--idx))
- prv="${COMP_WORDS[idx]}"
- done
- echo "$prv"
+ local idx=$((COMP_CWORD - 1))
+ local prv="${COMP_WORDS[idx]}"
+ while [[ $prv == -* ]]; do
+ idx=$((--idx))
+ prv="${COMP_WORDS[idx]}"
+ done
+ echo "$prv"
}
__brewcomp ()
{
- # break $1 on space, tab, and newline characters,
- # and turn it into a newline separated list of words
- local list s sep=$'\n' IFS=$' '$'\t'$'\n'
- local cur="${COMP_WORDS[COMP_CWORD]}"
-
- for s in $1; do
- __brewcomp_words_include "$s" && continue
- list="$list$s$sep"
- done
-
- IFS=$sep
- COMPREPLY=($(compgen -W "$list" -- "$cur"))
+ # break $1 on space, tab, and newline characters,
+ # and turn it into a newline separated list of words
+ local list s sep=$'\n' IFS=$' '$'\t'$'\n'
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+
+ for s in $1; do
+ __brewcomp_words_include "$s" && continue
+ list="$list$s$sep"
+ done
+
+ IFS=$sep
+ COMPREPLY=($(compgen -W "$list" -- "$cur"))
}
# Don't use __brewcomp() in any of the __brew_complete_foo functions, as
# it is too slow and is not worth it just for duplicate elimination.
__brew_complete_formulae ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local ff=$(\ls $(brew --repository)/Library/Formula 2>/dev/null | sed 's/\.rb//g')
- local af=$(\ls $(brew --repository)/Library/Aliases 2>/dev/null | sed 's/\.rb//g')
- COMPREPLY=($(compgen -W "$ff $af" -- "$cur"))
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local ff=$(\ls $(brew --repository)/Library/Formula 2>/dev/null | sed 's/\.rb//g')
+ local af=$(\ls $(brew --repository)/Library/Aliases 2>/dev/null | sed 's/\.rb//g')
+ COMPREPLY=($(compgen -W "$ff $af" -- "$cur"))
}
__brew_complete_installed ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local inst=$(\ls $(brew --cellar))
- COMPREPLY=($(compgen -W "$inst" -- "$cur"))
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local inst=$(\ls $(brew --cellar))
+ COMPREPLY=($(compgen -W "$inst" -- "$cur"))
}
__brew_complete_outdated ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local od=$(brew outdated --quiet)
- COMPREPLY=($(compgen -W "$od" -- "$cur"))
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local od=$(brew outdated --quiet)
+ COMPREPLY=($(compgen -W "$od" -- "$cur"))
}
__brew_complete_taps ()
{
- __brewcomp "$(\ls $(brew --repository)/Library/Taps 2>/dev/null | sed 's/-/\//g')"
+ __brewcomp "$(\ls $(brew --repository)/Library/Taps 2>/dev/null | sed 's/-/\//g')"
}
_brew_cleanup ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--force"
- return
- ;;
- esac
- __brew_complete_installed
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--force"
+ return
+ ;;
+ esac
+ __brew_complete_installed
}
_brew_create ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--autotools --cmake --no-fetch"
- return
- ;;
- esac
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--autotools --cmake --no-fetch"
+ return
+ ;;
+ esac
}
_brew_deps ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--1 --all --tree"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--1 --all --tree"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_diy ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--set-name --set-version"
- return
- ;;
- esac
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--set-name --set-version"
+ return
+ ;;
+ esac
}
_brew_fetch ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--deps --force --HEAD"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--deps --force --HEAD"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_info ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--all --github"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--all --github"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_install ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local prv=$(__brewcomp_prev)
-
- case "$cur" in
- --*)
- if __brewcomp_words_include "--interactive"; then
- __brewcomp "
- --devel
- --force
- --git
- --HEAD
- --use-clang
- --use-gcc
- --use-llvm
- "
- else
- __brewcomp "
- --build-from-source
- --debug
- --devel
- --force
- --fresh
- --HEAD
- --ignore-dependencies
- --interactive
- --use-clang
- --use-gcc
- --use-llvm
- --verbose
- $(brew options --compact "$prv")
- "
- fi
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local prv=$(__brewcomp_prev)
+
+ case "$cur" in
+ --*)
+ if __brewcomp_words_include "--interactive"; then
+ __brewcomp "
+ --devel
+ --force
+ --git
+ --HEAD
+ --use-clang
+ --use-gcc
+ --use-llvm
+ "
+ else
+ __brewcomp "
+ --build-from-source
+ --debug
+ --devel
+ --force
+ --fresh
+ --HEAD
+ --ignore-dependencies
+ --interactive
+ --use-clang
+ --use-gcc
+ --use-llvm
+ --verbose
+ $(brew options --compact "$prv")
+ "
+ fi
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_list ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- # options to brew-list are mutually exclusive
- if __brewcomp_words_include "--unbrewed"; then
- return
- elif __brewcomp_words_include "--verbose"; then
- return
- elif __brewcomp_words_include "--versions"; then
- return
- else
- __brewcomp "--unbrewed --verbose --versions"
- return
- fi
- ;;
- esac
- __brew_complete_installed
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ # options to brew-list are mutually exclusive
+ if __brewcomp_words_include "--unbrewed"; then
+ return
+ elif __brewcomp_words_include "--verbose"; then
+ return
+ elif __brewcomp_words_include "--versions"; then
+ return
+ else
+ __brewcomp "--unbrewed --verbose --versions"
+ return
+ fi
+ ;;
+ esac
+ __brew_complete_installed
}
_brew_log ()
{
- # if git-completion is loaded, then we complete git-log options
- declare -F _git_log >/dev/null || return
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "
- $__git_log_common_options
- $__git_log_shortlog_options
- $__git_log_gitk_options
- $__git_diff_common_options
- --walk-reflogs --graph --decorate
- --abbrev-commit --oneline --reverse
- "
- return
- ;;
- esac
- __brew_complete_formulae
+ # if git-completion is loaded, then we complete git-log options
+ declare -F _git_log >/dev/null || return
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "
+ $__git_log_common_options
+ $__git_log_shortlog_options
+ $__git_log_gitk_options
+ $__git_diff_common_options
+ --walk-reflogs --graph --decorate
+ --abbrev-commit --oneline --reverse
+ "
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_options ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--all --compact --installed"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--all --compact --installed"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_outdated ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--quiet"
- return
- ;;
- esac
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--quiet"
+ return
+ ;;
+ esac
}
_brew_search ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--fink --macports"
- return
- ;;
- esac
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--fink --macports"
+ return
+ ;;
+ esac
}
_brew_uninstall ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--force"
- return
- ;;
- esac
- __brew_complete_installed
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--force"
+ return
+ ;;
+ esac
+ __brew_complete_installed
}
_brew_update ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--rebase --verbose"
- return
- ;;
- esac
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--rebase --verbose"
+ return
+ ;;
+ esac
}
_brew_uses ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--installed"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--installed"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
_brew_versions ()
{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- --*)
- __brewcomp "--compact"
- return
- ;;
- esac
- __brew_complete_formulae
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __brewcomp "--compact"
+ return
+ ;;
+ esac
+ __brew_complete_formulae
}
__brew_ps1 ()
{
- [[ -n $HOMEBREW_DEBUG_INSTALL ]] &&
- printf "${1:- (%s)}" "$HOMEBREW_DEBUG_INSTALL|DEBUG"
+ [[ -n $HOMEBREW_DEBUG_INSTALL ]] &&
+ printf "${1:- (%s)}" "$HOMEBREW_DEBUG_INSTALL|DEBUG"
}
_brew ()
{
- local i=1 cmd
-
- # find the subcommand
- while [[ $i -lt $COMP_CWORD ]]; do
- local s="${COMP_WORDS[i]}"
- case "$s" in
- --*) cmd="$s"
- break
- ;;
- -*) ;;
- *) cmd="$s"
- break
- ;;
- esac
- i=$((++i))
- done
-
- if [[ $i -eq $COMP_CWORD ]]; then
- local ext=$(\ls $(brew --repository)/Library/Contributions/examples \
- 2>/dev/null | sed -e "s/\.rb//g" -e "s/brew-//g")
- __brewcomp "
- --cache --cellar --config
- --env --prefix --repository
- audit
- cat
- cleanup
- create
- deps
- diy configure
- doctor
- edit
- fetch
- help
- home
- info abv
- install
- link ln
- list ls
- log
- options
- outdated
- prune
- search
- tap
- test
- uninstall remove rm
- unlink
- untap
- update
- upgrade
- uses
- versions
- $ext
- "
- return
- fi
-
- # subcommands have their own completion functions
- case "$cmd" in
- --cache|--cellar|--prefix)
- __brew_complete_formulae ;;
- audit|cat|edit|home) __brew_complete_formulae ;;
- link|ln|test|unlink) __brew_complete_installed ;;
- upgrade) __brew_complete_outdated ;;
- cleanup) _brew_cleanup ;;
- create) _brew_create ;;
- deps) _brew_deps ;;
- diy|configure) _brew_diy ;;
- fetch) _brew_fetch ;;
- info|abv) _brew_info ;;
- install) _brew_install ;;
- list|ls) _brew_list ;;
- log) _brew_log ;;
- options) _brew_options ;;
- outdated) _brew_outdated ;;
- search|-S) _brew_search ;;
- uninstall|remove|rm) _brew_uninstall ;;
- untap) __brew_complete_taps ;;
- update) _brew_update ;;
- uses) _brew_uses ;;
- versions) _brew_versions ;;
- *) ;;
- esac
+ local i=1 cmd
+
+ # find the subcommand
+ while [[ $i -lt $COMP_CWORD ]]; do
+ local s="${COMP_WORDS[i]}"
+ case "$s" in
+ --*)
+ cmd="$s"
+ break
+ ;;
+ -*)
+ ;;
+ *)
+ cmd="$s"
+ break
+ ;;
+ esac
+ i=$((++i))
+ done
+
+ if [[ $i -eq $COMP_CWORD ]]; then
+ local ext=$(\ls $(brew --repository)/Library/Contributions/examples \
+ 2>/dev/null | sed -e "s/\.rb//g" -e "s/brew-//g")
+ __brewcomp "
+ --cache --cellar --config
+ --env --prefix --repository
+ audit
+ cat
+ cleanup
+ create
+ deps
+ diy configure
+ doctor
+ edit
+ fetch
+ help
+ home
+ info abv
+ install
+ link ln
+ list ls
+ log
+ options
+ outdated
+ prune
+ search
+ tap
+ test
+ uninstall remove rm
+ unlink
+ untap
+ update
+ upgrade
+ uses
+ versions
+ $ext
+ "
+ return
+ fi
+
+ # subcommands have their own completion functions
+ case "$cmd" in
+ --cache|--cellar|--prefix) __brew_complete_formulae ;;
+ audit|cat|edit|home) __brew_complete_formulae ;;
+ link|ln|test|unlink) __brew_complete_installed ;;
+ upgrade) __brew_complete_outdated ;;
+ cleanup) _brew_cleanup ;;
+ create) _brew_create ;;
+ deps) _brew_deps ;;
+ diy|configure) _brew_diy ;;
+ fetch) _brew_fetch ;;
+ info|abv) _brew_info ;;
+ install) _brew_install ;;
+ list|ls) _brew_list ;;
+ log) _brew_log ;;
+ options) _brew_options ;;
+ outdated) _brew_outdated ;;
+ search|-S) _brew_search ;;
+ uninstall|remove|rm) _brew_uninstall ;;
+ untap) __brew_complete_taps ;;
+ update) _brew_update ;;
+ uses) _brew_uses ;;
+ versions) _brew_versions ;;
+ *) ;;
+ esac
}
# keep around for compatibility
_brew_to_completion ()
{
- _brew
+ _brew
}
complete -o bashdefault -o default -F _brew brew