Subject: Re: [RFC/PATCH] completion: complete pretty format placeholders

From: "Shawn O. Pearce" <[email-masked]>
Date: Wed, 20 May 2009 15:52:58 -0700

Stephen Boyd <[email-masked]> wrote:
>  This seems to work most of the time.
> 
>  This
>     git log --pretty=format:%ad:%<TAB>
>  becomes
>     git log --pretty=format:%ad:%ad:% 
>  which is wrong.
> 
>  But in quotes
>     git log --pretty=format:"%ad:%<TAB>
>  works.
> 
>  I'm not sure why.

bash oddity?  Back when I started the completion I had a lot
of trouble with stuff like --pretty=<TAB>, or foo:<TAB> because
bash more often than not tried to second guess what I was doing.
I wonder if you are running against that here.
  
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index ad26b7c..3819c73 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1117,6 +1117,9 @@ __git_log_shortlog_options="
>  
>  __git_log_pretty_formats="oneline short medium full fuller email raw format:"
>  __git_log_date_formats="relative iso8601 rfc2822 short local default raw"
> +__git_log_format_placeholders="ad aD ae aE ai an aN ar at b Cblue cd cD ce cE
> +Cgreen ci cn cN cr Cred Creset ct d e f h H m n p P s t T x
> +"

To be honest, I'm not sure what value this provides.  Its just as
many characters to type, isn't it, and it doesn't offer me any help
as to which placeholder should be inserted to get the value I want.
"Was it ae or aE that I wanted here?  WTF, manpage time!".
  
-- 
Shawn.