123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # Autocompletion for homebrew-cask.
- #
- # This script intercepts calls to the brew plugin and adds autocompletion
- # for the cask subcommand.
- #
- # Author: https://github.com/pstadler
- compdef _brew-cask brew
- _brew-cask()
- {
- local curcontext="$curcontext" state line
- typeset -A opt_args
- _arguments -C \
- ':command:->command' \
- ':subcmd:->subcmd' \
- '*::options:->options'
- case $state in
- (command)
- __call_original_brew
- cask_commands=(
- 'cask:manage casks'
- )
- _describe -t commands 'brew cask command' cask_commands ;;
- (subcmd)
- case "$line[1]" in
- cask)
- if (( CURRENT == 3 )); then
- local -a subcommands
- subcommands=(
- "alfred:used to modify Alfred's scope to include the Caskroom"
- 'audit:verifies installability of casks'
- 'checklinks:checks for bad cask links'
- 'cleanup:cleans up cached downloads'
- 'create:creates a cask of the given name and opens it in an editor'
- 'doctor:checks for configuration issues'
- 'edit:edits the cask of the given name'
- 'fetch:downloads Cask resources to local cache'
- 'home:opens the homepage of the cask of the given name'
- 'info:displays information about the cask of the given name'
- 'install:installs the cask of the given name'
- 'list:with no args, lists installed casks; given installed casks, lists installed files'
- 'search:searches all known casks'
- 'uninstall:uninstalls the cask of the given name'
- "update:a synonym for 'brew update'"
- )
- _describe -t commands "brew cask subcommand" subcommands
- fi ;;
- *)
- __call_original_brew ;;
- esac ;;
- (options)
- local -a casks installed_casks
- local expl
- case "$line[2]" in
- list|uninstall)
- __brew_installed_casks
- _wanted installed_casks expl 'installed casks' compadd -a installed_casks ;;
- audit|edit|home|info|install)
- __brew_all_casks
- _wanted casks expl 'all casks' compadd -a casks ;;
- esac ;;
- esac
- }
- __brew_all_casks() {
- casks=(`brew cask search`)
- }
- __brew_installed_casks() {
- installed_casks=(`brew cask list`)
- }
- __call_original_brew()
- {
- local ret=1
- _call_function ret _brew
- compdef _brew-cask brew
- }
|