From aad31f4468184246b9157fe5397a1efb84e05da5 Mon Sep 17 00:00:00 2001 From: Sebastien Duthil Date: Wed, 1 Oct 2014 17:05:22 -0400 Subject: [PATCH 1/3] completion for cask import from github.com/cask/cask, discussed in PR cask/cask#244 --- src/_cask | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/_cask diff --git a/src/_cask b/src/_cask new file mode 100644 index 0000000..f7049b2 --- /dev/null +++ b/src/_cask @@ -0,0 +1,80 @@ +#compdef cask +# ------------------------------------------------------------------------------ +# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for cask (http://cask.readthedocs.org) +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * ptrv +# * Johan Andersson +# * Sebastien Duthil +# +# ------------------------------------------------------------------------------ + +function _cask() { + local ret=1 state + _arguments \ + ':subcommand:->subcommand' \ + '*:: :->subcmds' && ret=0 + + case $state in + subcommand) + subcommands=( + "path:Print Emacs exec-path (including package bin path)" + "load-path:Print Emacs load-path (including package dependencies)" + "help:Display this help message" + "info:Show info about this project" + "list:List dependencies" + "version:Show the package version" + "init:Create basic Cask file" + "exec:Execute command with correct dependencies" + "update:Update dependencies" + "install:Install dependencies" + "package:Create -pkg.el file" + "package-directory:Print package installation directory" + ) + _describe -t subcommands 'cask subcommands' subcommands && ret=0 + esac + + case "$words[1]" in + init) + _arguments \ + '(--dev)--dev[Run in dev mode]' && ret=0 ;; + exec) + _generic + ;; + esac + + return ret +} + +_cask "$@" From eefc2ff7ed81cf9283be49c63c32f5f5b6adbed5 Mon Sep 17 00:00:00 2001 From: Sebastien Duthil Date: Wed, 1 Oct 2014 17:41:44 -0400 Subject: [PATCH 2/3] cask: conform to style guide * no line longer than 79 characters * indent with 2 spaces * no capitals in description --- src/_cask | 82 +++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/_cask b/src/_cask index f7049b2..a94f30e 100644 --- a/src/_cask +++ b/src/_cask @@ -14,16 +14,16 @@ # names of its contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ------------------------------------------------------------------------------ # Description # ----------- @@ -41,40 +41,40 @@ # ------------------------------------------------------------------------------ function _cask() { - local ret=1 state - _arguments \ - ':subcommand:->subcommand' \ - '*:: :->subcmds' && ret=0 + local ret=1 state + _arguments \ + ':subcommand:->subcommand' \ + '*:: :->subcmds' && ret=0 - case $state in - subcommand) - subcommands=( - "path:Print Emacs exec-path (including package bin path)" - "load-path:Print Emacs load-path (including package dependencies)" - "help:Display this help message" - "info:Show info about this project" - "list:List dependencies" - "version:Show the package version" - "init:Create basic Cask file" - "exec:Execute command with correct dependencies" - "update:Update dependencies" - "install:Install dependencies" - "package:Create -pkg.el file" - "package-directory:Print package installation directory" - ) - _describe -t subcommands 'cask subcommands' subcommands && ret=0 - esac + case $state in + subcommand) + subcommands=( + "path:print Emacs exec-path (including package bin path)" + "load-path:print Emacs load-path (including package dependencies)" + "help:display help message" + "info:show info about this project" + "list:list dependencies" + "version:show the package version" + "init:create basic Cask file" + "exec:execute command with correct dependencies" + "update:update dependencies" + "install:install dependencies" + "package:create -pkg.el file" + "package-directory:print package installation directory" + ) + _describe -t subcommands 'cask subcommands' subcommands && ret=0 + esac - case "$words[1]" in - init) - _arguments \ - '(--dev)--dev[Run in dev mode]' && ret=0 ;; - exec) - _generic - ;; - esac + case "$words[1]" in + init) + _arguments \ + '(--dev)--dev[Run in dev mode]' && ret=0 ;; + exec) + _generic + ;; + esac - return ret + return ret } _cask "$@" From 86dbad26c5402b7194546d0eb0efa7b3bfbe67f3 Mon Sep 17 00:00:00 2001 From: Sebastien Duthil Date: Sun, 5 Oct 2014 13:45:33 -0400 Subject: [PATCH 3/3] update cask subcommands --- src/_cask | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/_cask b/src/_cask index a94f30e..b2ba82a 100644 --- a/src/_cask +++ b/src/_cask @@ -49,18 +49,27 @@ function _cask() { case $state in subcommand) subcommands=( - "path:print Emacs exec-path (including package bin path)" - "load-path:print Emacs load-path (including package dependencies)" - "help:display help message" - "info:show info about this project" + "build:build all Elisp files in the files directive" + "clean-elc:remove all byte compiled Elisp files in the files directive" + "exec:execute command with correct 'exec-path' and 'load-path'" + "exec-path:print 'exec-path' for all packages and dependencies" + "files:print list of files specified in the files directive" + "help:display usage information or documentation for specified command" + "info:show info about the current package" + "init:initialize the current directory with a Cask-file" + "install:install all packages specified in the Cask-file" + "link:manage links" "list:list dependencies" - "version:show the package version" - "init:create basic Cask file" - "exec:execute command with correct dependencies" - "update:update dependencies" - "install:install dependencies" - "package:create -pkg.el file" - "package-directory:print package installation directory" + "load-path:print 'load-path' for all packages and dependencies" + "outdated:print list of outdated packages" + "package:build package and put in specified directory (default: dist)" + "package-directory:print current package installation directory" + "path:print 'exec-path' for all packages and dependencies" + "pkg-file:write a 'define-package' file" + "update:update package version" + "upgrade-cask:upgrade Cask itself and its dependencies" + "upgrade:upgrade Cask itself and its dependencies" + "version:print program version" ) _describe -t subcommands 'cask subcommands' subcommands && ret=0 esac