mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-25 15:20:08 +00:00
commit
00d6ef8a31
1 changed files with 84 additions and 0 deletions
84
plugins/brew-cask/brew-cask.plugin.zsh
Normal file
84
plugins/brew-cask/brew-cask.plugin.zsh
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
# 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
|
||||||
|
}
|
Loading…
Reference in a new issue