Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: _git: Add completion for help subcommand



At 01:43 +0200 28 Aug 2010, Nikolai Weibull <now@xxxxxxxx> wrote:
A final nit-pick: Why put --all in a separate group?

Because it supersedes any other option. I suppose it could be put into the common options, with other options excluded and the other options excluding it. But if that's going to be the preferred way of handling this type of situation, what's the point of having support for mutually exclusive sets of options?

But, I did notice that there was an error in the previous version of the patch. It didn't actually prevent completion of command names with --all. I'd been testing a copy of the file other than the one I was modifying. Revised, and hopefully final, version below.

From e87683251e5c5c5737a118031582ee4500bac4ee Mon Sep 17 00:00:00 2001
From: Aaron Schrab <aaron@xxxxxxxxxx>
Date: Thu, 19 Aug 2010 19:11:06 -0400
Subject: [PATCH] _git: Add completion for help subcommand

---
 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..570d08f 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



Messages sorted by: Reverse Date, Date, Thread, Author