summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorAndrew Janke <janke@pobox.com>2015-02-24 12:12:33 -0500
committerMarc Cornellà <marc.cornella@live.com>2016-08-25 03:22:07 +0200
commite1e3acc722133a50fba7aeee224244c499fbcdb2 (patch)
tree8ecf2fea7fa2fd9ede032512b1a0f37d9a8bb69f /plugins
parentd8b03f3f95c10b61f7a9d4bd690f6cb429fb6ae8 (diff)
downloadzsh-e1e3acc722133a50fba7aeee224244c499fbcdb2.tar.gz
zsh-e1e3acc722133a50fba7aeee224244c499fbcdb2.tar.bz2
zsh-e1e3acc722133a50fba7aeee224244c499fbcdb2.zip
cask: check for Homebrew path for completion file
Diffstat (limited to 'plugins')
-rw-r--r--plugins/cask/cask.plugin.zsh26
1 files changed, 21 insertions, 5 deletions
diff --git a/plugins/cask/cask.plugin.zsh b/plugins/cask/cask.plugin.zsh
index c55862924..bc0006d9f 100644
--- a/plugins/cask/cask.plugin.zsh
+++ b/plugins/cask/cask.plugin.zsh
@@ -1,5 +1,21 @@
-if which cask &> /dev/null; then
- source $(dirname $(which cask))/../etc/cask_completion.zsh
-else
- print "zsh cask plugin: cask not found"
-fi
+() {
+ 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"
+ fi
+} \ No newline at end of file