This commit is contained in:
Josh McKinney 2017-05-30 19:14:59 +00:00 committed by GitHub
commit 7a6874a087
1 changed files with 83 additions and 0 deletions

83
src/_brew_cask Normal file
View File

@ -0,0 +1,83 @@
#compdef brew-cask
#autoload
# Autocompletion for homebrew-cask (https://github.com/caskroom/homebrew-cask/).
#
# Originally sourced from the oh-my-zsh
# https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/brew-cask/brew-cask.plugin.zsh
#
# The MIT License (MIT)
#
# Copyright (c) 2009-2016 Robby Russell and contributors
# See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
_brew_cask()
{
local curcontext="$curcontext" state state_descr line
typeset -A opt_args
_arguments -C \
':subcmd:->subcmd' \
'*::options:->options'
case $state in
(subcmd)
local -a subcommands
subcommands=(
'audit:verifies installability of Casks'
'cat:dump raw source of the given Cask to the standard output'
'cleanup:cleans up cached downloads and tracker symlinks'
'create:creates the given Cask and opens it in an editor'
'doctor:checks for configuration issues'
'edit:edits the given Cask'
'fetch:downloads remote application files to local cache'
'home:opens the homepage of the given Cask'
'info:displays information about the given Cask'
'install:installs the given Cask'
'list:with no args, lists installed Casks; given installed Casks, lists staged files'
'search:searches all known Casks'
'style:checks Cask style using RuboCop'
'uninstall:uninstalls the given Cask'
"update:a synonym for 'brew update'"
'zap:zaps all files associated with the given Cask'
)
_describe -t commands "brew cask subcommand" subcommands ;;
(options)
local -a casks installed_casks
local expl
case "$line[1]" in
list|uninstall)
__brew_installed_casks
_wanted installed_casks expl 'installed casks' compadd -a installed_casks ;;
audit|cat|edit|fetch|home|info|install|zap)
__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|sed 's/(!)//'`)
}