summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/cask
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/cask')
-rw-r--r--oh-my-zsh/plugins/cask/README.md15
-rw-r--r--oh-my-zsh/plugins/cask/cask.plugin.zsh26
2 files changed, 41 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/cask/README.md b/oh-my-zsh/plugins/cask/README.md
new file mode 100644
index 0000000..e1335c1
--- /dev/null
+++ b/oh-my-zsh/plugins/cask/README.md
@@ -0,0 +1,15 @@
+# Cask plugin
+
+[Cask](https://github.com/cask/cask) is a project management tool for Emacs that helps
+automate the package development cycle; development, dependencies, testing, building,
+packaging and more.
+
+This plugin loads `cask` completion from non-standard locations, such as if installed
+via Homebrew or others. To enable it, add `cask` to your plugins array:
+
+```zsh
+plugins=(... cask)
+```
+
+Make sure you have the `cask` directory in your `$PATH` before loading Oh My Zsh,
+otherwise you'll get a "command not found" error.
diff --git a/oh-my-zsh/plugins/cask/cask.plugin.zsh b/oh-my-zsh/plugins/cask/cask.plugin.zsh
new file mode 100644
index 0000000..29120b3
--- /dev/null
+++ b/oh-my-zsh/plugins/cask/cask.plugin.zsh
@@ -0,0 +1,26 @@
+() {
+ 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
+
+ # Load first found file
+ for f in $comp_files; do
+ if [[ -f "$f" ]]; then
+ source "$f"
+ break
+ fi
+ done
+}