From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17706 invoked by alias); 27 Aug 2010 23:18:36 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28208 Received: (qmail 16520 invoked from network); 27 Aug 2010 23:18:35 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at schrab.com designates 208.78.100.134 as permitted sender) Date: Fri, 27 Aug 2010 19:18:33 -0400 From: Aaron Schrab To: Nikolai Weibull Cc: zsh-workers@zsh.org Subject: Re: _git: Add completion for help subcommand Message-ID: <20100827231832.GA29397@pug.qqx.org> Mail-Followup-To: Nikolai Weibull , zsh-workers@zsh.org References: <1282393263-16767-1-git-send-email-aaron@schrab.com> <20100827002003.GA8399@pug.qqx.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) At 10:29 +0200 27 Aug 2010, Nikolai Weibull wrote: >Actually, why not use > >- '(formats)' \, > >explicitly making the formats mutually exclusive? I hadn't done that previously because as I was conceiving the issue, I saw the argument to specifyg the command for which help was desired as part of that set as well, and using that syntax would make that part of the mutually exclusive set. I've now rethought that, and have moved the command argument into the common options, allowing use of that syntax. Here's a revised version of the patch. --- Completion/Unix/Command/_git | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index c394e08..5fc0765 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -190,6 +190,7 @@ _git_commands () { 'fetch:download objects and a head from another repository' 'gc:cleanup unnecessary files and optimize the local repository' 'grep:print lines matching a pattern' + 'help:display help information about git subcommands' 'init:create empty git object database' 'log:show commit logs' 'merge:grand unified merge driver' @@ -490,6 +491,19 @@ _git-hash-object () { '(--stdin):file:_files' && ret=0 } +(( $+functions[_git-help] )) || +_git-help () { + _arguments -S \ + ':command:_git_commands' \ + - '(all)' \ + '(*)'{--all,-a}'[List all available commands]' \ + - '(format)' \ + {--man,-m}'[Display help in man page format]' \ + {--info,-i}'[Display help in info format]' \ + {--web,-w}'[Display help in web browser]' \ + && ret=0 +} + (( $+functions[_git-index-pack] )) || _git-index-pack () { local -a stdin_arguments -- 1.7.0.4