From: SZEDER Gábor Date: Wed, 22 Apr 2015 13:03:27 GMT Subject: Re: [PATCH] completion: Support exclude prefix, ^ Message-ID: <20150422150327.Horde.JQeFwEt1H0b2m6uCwo2Grw1@webmail.informatik.kit.edu> Hi, Quoting Trygve Aaberge : > When using the exclude pattern, ^, the completion did not work. > This enables completion after ^ in the same way that completion after .. > is done. Interesting, thinking back I can't recall I've ever needed multiple exclude patterns on the command line, and a single exclude is well served by the rev1..rev2 notion. Of course that doesn't mean that nobody might need it, and since it's easy to implement, I'm for it. > Signed-off-by: Trygve Aaberge > --- > contrib/completion/git-completion.bash | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/contrib/completion/git-completion.bash > b/contrib/completion/git-completion.bash > index 8cfee95..3036dac 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -496,6 +496,10 @@ __git_complete_revlist_file () > cur_="${cur_#*..}" > __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" > ;; > + ^*) > + cur_="${cur_#^}" > + __gitcomp_nl "$(__git_refs)" "^" "$cur_" > + ;; This is good, but considering the other cases I suggest making this the very first case. That way we would not complete e.g. refs after '^rev..', which would lead to a "bad revision" error when the command is executed, or tracked paths after '^rev:', which I think doesn't make sense, though doesn't lead to error. > *) > __gitcomp_nl "$(__git_refs)" > ;; > -- > 2.2.2