diff options
| author | Julien Nicoulaud <julien.nicoulaud@gmail.com> | 2012-08-01 13:23:11 +0200 |
|---|---|---|
| committer | Julien Nicoulaud <julien.nicoulaud@gmail.com> | 2012-08-01 13:23:11 +0200 |
| commit | 10ffeb0c153258896531b2b8939e94486d58b378 (patch) | |
| tree | f735059d34c7f2ade7eb410643f39ecf402833d9 /src/_git-pulls | |
| parent | Add call for deb and rpm packagers (diff) | |
| download | zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.gz zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.bz2 zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.lz zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.xz zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.zst zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.zip | |
[BREAKING CHANGE] Move compdefs to own directory (to ease packaging and
avoid bloating users fpath with unneeded files such as README.md)
Diffstat (limited to 'src/_git-pulls')
| -rw-r--r-- | src/_git-pulls | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/_git-pulls b/src/_git-pulls new file mode 100644 index 0000000..36a9a50 --- /dev/null +++ b/src/_git-pulls @@ -0,0 +1,103 @@ +#compdef git-pulls +# ------------------------------------------------------------------------------ +# Copyright (c) 2011 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 git-pulls 0.3.1 (https://git-pulls.com/schacon/git-pulls). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Julien Nicoulaud (https://github.com/nicoulaj) +# +# ------------------------------------------------------------------------------ +# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- +# vim: ft=zsh sw=2 ts=2 et +# ------------------------------------------------------------------------------ + + +_git-pulls() { + typeset -A opt_args + local context state line curcontext="$curcontext" + + local ret=1 + + _arguments -C \ + '(- 1 *)--help[show usage]' \ + '1:cmd:->cmds' \ + '*::arg:->args' \ + && ret=0 + + case "$state" in + (cmds) + local commands; commands=( + 'update:update pull requests list' + 'list:list pull requests' + 'show:show pull request' + 'browse:open pull request in a web browser' + 'merge:merge pull request' + ) + _describe -t commands 'command' commands && ret=0 + ;; + (args) + curcontext="${curcontext%:*:*}:git-pulls-cmd-$words[1]:" + case $words[1] in + (update) + _message 'no more arguments' && ret=0 + ;; + (list) + _arguments \ + '--reverse[list in reverse order]' \ + && ret=0 + ;; + (show) + _arguments \ + '1: :_git-pulls_pull_requests_numbers' \ + '--full[use verbose output]' \ + && ret=0 + ;; + (browse|merge) + _arguments \ + '1: :_git-pulls_pull_requests_numbers' \ + && ret=0 + ;; + esac + ;; + esac + + return ret +} + +(( $+functions[_git-pulls_pull_requests_numbers] )) || +_git-pulls_pull_requests_numbers() { + local pull_requests; pull_requests=(${${${(M)${(f)"$(_call_program users $service list)"}:#[[:digit:]]##[[:space:]]*}//:/\\:}/[[:space:]]##/:}) + _describe -t pull-request-numbers 'pull request number' pull_requests "$@" +} + +_git-pulls "$@" |
