aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--completions/bash/brew168
-rw-r--r--completions/bash/brew-cask182
2 files changed, 168 insertions, 182 deletions
diff --git a/completions/bash/brew b/completions/bash/brew
index 60c272f73..d85a58c4d 100644
--- a/completions/bash/brew
+++ b/completions/bash/brew
@@ -539,6 +539,173 @@ _brew_uses() {
__brew_complete_formulae
}
+__brew_caskcomp_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
+}
+
+# Find the previous non-switch word
+__brew_caskcomp_prev ()
+{
+ local idx=$((COMP_CWORD - 1))
+ local prv="${COMP_WORDS[idx]}"
+ while [[ $prv == -* ]]; do
+ idx=$((--idx))
+ prv="${COMP_WORDS[idx]}"
+ done
+ echo "$prv"
+}
+
+__brew_caskcomp ()
+{
+ # 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
+ __brew_caskcomp_words_include "$s" && continue
+ list="$list$s$sep"
+ done
+
+ IFS=$sep
+ COMPREPLY=($(compgen -W "$list" -- "$cur"))
+}
+
+# Don't use __brew_caskcomp() in any of the __brew_cask_complete_foo functions, as
+# it is too slow and is not worth it just for duplicate elimination.
+__brew_cask_complete_formulae ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local lib=$(brew --repository)/Library
+ local taps=${lib}/Taps
+ local casks=${lib}/Taps/caskroom/homebrew-cask/Casks
+ local ff=$(\ls ${casks} 2>/dev/null | sed 's/\.rb//g')
+
+ COMPREPLY=($(compgen -W "$ff" -- "$cur"))
+}
+
+__brew_cask_complete_installed ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local inst=$(brew cask list -1)
+ COMPREPLY=($(compgen -W "$inst" -- "$cur"))
+}
+
+__brew_cask_complete_caskroom ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local caskroom_dir=/opt/homebrew-cask/Caskroom/
+ local files=$(\ls ${caskroom_dir} 2>/dev/null)
+ COMPREPLY=($(compgen -W "$files" -- "$cur"))
+}
+
+_brew_cask_cleanup ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ -*)
+ __brew_caskcomp "--force"
+ return
+ ;;
+ esac
+ __brew_cask_complete_installed
+}
+
+_brew_cask_fetch ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local prv=$(__brew_caskcomp_prev)
+ case "$cur" in
+ -*)
+ __brew_caskcomp "--force"
+ return
+ ;;
+ esac
+ __brew_cask_complete_formulae
+}
+
+_brew_cask_list ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+
+ case "$cur" in
+ -*)
+ __brew_caskcomp "-1 -l --versions"
+ return
+ ;;
+ esac
+
+ __brew_cask_complete_installed
+}
+
+_brew_cask_uninstall ()
+{
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ -*)
+ __brew_caskcomp "--force"
+ return
+ ;;
+ esac
+ __brew_cask_complete_installed
+}
+
+_brew_cask ()
+{
+ local i=1 cmd
+
+ # find the subcommand
+ while [[ $i -lt $COMP_CWORD ]]; do
+ local s="${COMP_WORDS[i]}"
+ case "$s" in
+ --*)
+ cmd="$s"
+ break
+ ;;
+ -*)
+ ;;
+ cask)
+ ;;
+ *)
+ cmd="$s"
+ break
+ ;;
+ esac
+ i=$((++i))
+ done
+
+ if [[ $i -eq $COMP_CWORD ]]; then
+ __brew_caskcomp "abv audit cat cleanup create doctor edit fetch home info install list ls remove rm search uninstall zap -S --force --caskroom --verbose --appdir --colorpickerdir --prefpanedir --qlplugindir --fontdir --servicedir --input_methoddir --internet_plugindir --screen_saverdir --no-binaries --binarydir --debug"
+ return
+ fi
+
+ # subcommands have their own completion functions
+ case "$cmd" in
+ audit) __brew_cask_complete_formulae ;;
+ cat) __brew_cask_complete_formulae ;;
+ cleanup) _brew_cask_cleanup ;;
+ doctor) ;;
+ edit) __brew_cask_complete_formulae ;;
+ fetch) _brew_cask_fetch ;;
+ home) __brew_cask_complete_formulae ;;
+ info|abv) __brew_cask_complete_formulae ;;
+ install|instal) __brew_cask_complete_formulae ;;
+ list|ls) _brew_cask_list ;;
+ search) ;;
+ uninstall|remove|rm) _brew_cask_uninstall ;;
+ zap) __brew_cask_complete_caskroom ;;
+ *) ;;
+ esac
+}
+
_brew() {
local i=1 cmd
@@ -578,6 +745,7 @@ _brew() {
analytics) _brew_analytics ;;
audit) __brew_complete_formulae ;;
bottle) _brew_bottle ;;
+ cask) _brew_cask ;;
cat) __brew_complete_formulae ;;
cleanup) _brew_cleanup ;;
create) _brew_create ;;
diff --git a/completions/bash/brew-cask b/completions/bash/brew-cask
deleted file mode 100644
index 369f0dc74..000000000
--- a/completions/bash/brew-cask
+++ /dev/null
@@ -1,182 +0,0 @@
-# Bash completion script for brew-cask(1)
-
-__brew_caskcomp_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
-}
-
-# Find the previous non-switch word
-__brew_caskcomp_prev ()
-{
- local idx=$((COMP_CWORD - 1))
- local prv="${COMP_WORDS[idx]}"
- while [[ $prv == -* ]]; do
- idx=$((--idx))
- prv="${COMP_WORDS[idx]}"
- done
- echo "$prv"
-}
-
-__brew_caskcomp ()
-{
- # 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
- __brew_caskcomp_words_include "$s" && continue
- list="$list$s$sep"
- done
-
- IFS=$sep
- COMPREPLY=($(compgen -W "$list" -- "$cur"))
-}
-
-# Don't use __brew_caskcomp() in any of the __brew_cask_complete_foo functions, as
-# it is too slow and is not worth it just for duplicate elimination.
-__brew_cask_complete_formulae ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local lib=$(brew --repository)/Library
- local taps=${lib}/Taps
- local casks=${lib}/Taps/caskroom/homebrew-cask/Casks
- local ff=$(\ls ${casks} 2>/dev/null | sed 's/\.rb//g')
-
- COMPREPLY=($(compgen -W "$ff" -- "$cur"))
-}
-
-__brew_cask_complete_installed ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local inst=$(brew-cask list -1)
- COMPREPLY=($(compgen -W "$inst" -- "$cur"))
-}
-
-__brew_cask_complete_caskroom ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local caskroom_dir=/opt/homebrew-cask/Caskroom/
- local files=$(\ls ${caskroom_dir} 2>/dev/null)
- COMPREPLY=($(compgen -W "$files" -- "$cur"))
-}
-
-_brew_cask_cleanup ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- -*)
- __brew_caskcomp "--force"
- return
- ;;
- esac
- __brew_cask_complete_installed
-}
-
-_brew_cask_fetch ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- local prv=$(__brew_caskcomp_prev)
- case "$cur" in
- -*)
- __brew_caskcomp "--force"
- return
- ;;
- esac
- __brew_cask_complete_formulae
-}
-
-_brew_cask_list ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
-
- case "$cur" in
- -*)
- __brew_caskcomp "-1 -l --versions"
- return
- ;;
- esac
-
- __brew_cask_complete_installed
-}
-
-_brew_cask_uninstall ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- -*)
- __brew_caskcomp "--force"
- return
- ;;
- esac
- __brew_cask_complete_installed
-}
-
-_brew_cask_update ()
-{
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$cur" in
- -*)
- __brew_caskcomp "--rebase --verbose"
- return
- ;;
- esac
-}
-
-_brew_cask ()
-{
- 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
- __brew_caskcomp "abv alfred audit cat cleanup create doctor edit fetch home info install list ls remove rm search uninstall update zap -S --force --caskroom --verbose --appdir --colorpickerdir --prefpanedir --qlplugindir --fontdir --servicedir --input_methoddir --internet_plugindir --screen_saverdir --no-binaries --binarydir --debug"
- return
- fi
-
- # subcommands have their own completion functions
- case "$cmd" in
- audit) __brew_cask_complete_formulae ;;
- cat|edit|home) __brew_cask_complete_formulae ;;
- cleanup) _brew_cask_cleanup ;;
- fetch) _brew_cask_fetch ;;
- info|abv) __brew_cask_complete_formulae ;;
- install|instal) __brew_cask_complete_formulae ;;
- list|ls) _brew_cask_list ;;
- uninstall|remove|rm) _brew_cask_uninstall ;;
- update) _brew_cask_update ;;
- zap) __brew_cask_complete_caskroom ;;
- *) ;;
- esac
-}
-
-# keep around for compatibility
-_brew_cask_to_completion ()
-{
- _brew_cask
-}
-
-complete -o bashdefault -o default -F _brew_cask brew-cask