Re: [PATCH] completion: Support exclude prefix, ^<rev>
From: SZEDER Gábor <hidden>
Date: 2016-06-15 23:04:30
Hi, Quoting Trygve Aaberge [off-list ref]:
When using the exclude pattern, ^<rev>, 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.
quoted hunk
Signed-off-by: Trygve Aaberge <redacted> --- contrib/completion/git-completion.bash | 4 ++++ 1 file changed, 4 insertions(+)diff --git a/contrib/completion/git-completion.bashb/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..<TAB>', which would lead to a "bad revision" error when the command is executed, or tracked paths after '^rev:<TAB>', which I think doesn't make sense, though doesn't lead to error.
*) __gitcomp_nl "$(__git_refs)" ;; -- 2.2.2