From a7e60e4a9367117fa39ecf1de9ce63383878538b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Fri, 12 Feb 2016 18:55:53 +0100 Subject: [PATCH] Style fixes and shorter command lookup --- plugins/cask/cask.plugin.zsh | 43 ++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/plugins/cask/cask.plugin.zsh b/plugins/cask/cask.plugin.zsh index bc0006d9..29120b30 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 -} \ No newline at end of file + + 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 + + # Load first found file + for f in $comp_files; do + if [[ -f "$f" ]]; then + source "$f" + break + fi + done +}