zsh-workers
 help / color / mirror / code / Atom feed
From: "Nikolai Weibull" <now@bitwi.se>
To: zsh-workers@sunsite.dk
Subject: Re: PATCH: _git log arguments
Date: Mon, 1 Oct 2007 15:56:43 +0200	[thread overview]
Message-ID: <dbfc82860710010656s6b70a686m2422a9d620910176@mail.gmail.com> (raw)
In-Reply-To: <20071001133635.GA10543@scowler.net>

On 10/1/07, Clint Adams <clint@zsh.org> wrote:
> On Mon, Oct 01, 2007 at 09:16:54AM +0200, Nikolai Weibull wrote:
> > Why use "$revision_arguments[@]"?  $revision_arguments works just as
> > good and you don't need all the quoting and expansion fluff.  I see
> > this style has been used for $merge_args as well, even though most of
> > the file doesn't.
>
> I seem to recall it being necessary for $merge_args, though I don't
> recall the specifics.
>
> > > +    '*:tree-ish: _alternative c\:\:__git_committishs f\:\:_files' && ret=0
> >
> > I don't like this at all.  Why not simply use __git_cached_files?  And
> > if we really need __git_committishs, let's at least use a separate
> > function for that with proper descriptions and tags.
>
> Your patch reworked against HEAD is below.   Now how do we accommodate
> the people that want to have a branch name completed after git log?

This should really be context sensitive, that is, what to complete
here is dependent on what arguments we've seen already.

Here's a patch that will suffice for the time being:

Index: Completion/Unix/Command/_git
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_git,v
retrieving revision 1.37
diff -u -r1.37 _git
--- Completion/Unix/Command/_git        1 Oct 2007 13:37:31 -0000       1.37
+++ Completion/Unix/Command/_git        1 Oct 2007 13:55:53 -0000
@@ -1702,11 +1702,22 @@

 (( $+functions[_git-log] )) ||
 _git-log () {
+  local curcontext=$curcontext state line
+  declare -A opt_args
+
   __git_setup_revision_arguments

   _arguments -S \
     $revision_arguments \
-    '*:file:__git_cached_files' && ret=0
+    '*:file-or-branch:->files' && ret=0
+
+  case $state in
+    (files)
+      _alternative \
+        'files:index file:__git_cached_files' \
+        'branches:branch:__git_branch_names' && ret=0
+      ;;
+  esac
 }

 # TODO: repository needs fixing

  nikolai


  reply	other threads:[~2007-10-01 13:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-30 19:40 Clint Adams
2007-10-01  7:16 ` Nikolai Weibull
2007-10-01 13:36   ` Clint Adams
2007-10-01 13:56     ` Nikolai Weibull [this message]
2007-10-01 19:37       ` Clint Adams
2007-10-01 22:02         ` Nikolai Weibull

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dbfc82860710010656s6b70a686m2422a9d620910176@mail.gmail.com \
    --to=now@bitwi.se \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).