summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/cask/cask.plugin.zsh43
1 files changed, 24 insertions, 19 deletions
diff --git a/plugins/cask/cask.plugin.zsh b/plugins/cask/cask.plugin.zsh
index bc0006d9f..29120b306 100644
--- a/plugins/cask/cask.plugin.zsh
+++ b/plugins/cask/cask.plugin.zsh
@@ -1,21 +1,26 @@
() {
- if which cask &> /dev/null; then
- local cask_bin cask_base f comp_files
- cask_bin=$(which cask)
- cask_base=${cask_bin:h:h}
- # Plain cask installation location (for Cask 0.7.2 and earlier)
- comp_files=( $cask_base/etc/cask_completion.zsh )
- # Mac Homebrew installs the completion in a different location
- if which brew &> /dev/null; then
- comp_files+=`brew --prefix`/share/zsh/site-functions/cask_completion.zsh
- fi
- for f in $comp_files; do
- if [[ -f $f ]]; then
- source $f;
- break;
- fi
- done
- else
- print "zsh cask plugin: cask not found"
+ emulate -L zsh
+
+ if ! (( $+commands[cask] )); then
+ print "zsh cask plugin: cask command not found" >&2
+ return
+ fi
+
+ cask_base=${commands[cask]:h:h}
+
+ # Plain cask installation location (for Cask 0.7.2 and earlier)
+ comp_files=($cask_base/etc/cask_completion.zsh)
+
+ # Mac Homebrew installs the completion in a different location
+ if (( $+commands[brew] )); then
+ comp_files+=($(brew --prefix)/share/zsh/site-functions/cask_completion.zsh)
fi
-} \ No newline at end of file
+
+ # Load first found file
+ for f in $comp_files; do
+ if [[ -f "$f" ]]; then
+ source "$f"
+ break
+ fi
+ done
+}