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
next prev parent 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).