On Fri, Sep 21, 2012 at 12:47 AM, Junio C Hamano <gits...@pobox.com> wrote:
>>> +- '%C+': enable coloring on the following placeholders if supported
>>> +- '%C-': disable coloring on the following placeholders
>> OK, so typically you replace some format placeholder "%?" in your
>> format string with "%C+%?%C-", because you cannot get away with
>> replacing it with "%C+%? and other things in the format you do not
>> know if they support coloring%C-".
>> If that is the case, does it really make sense to have %C-?

"%C+%?" should work. if %? does not support coloring, the %C+ effect
is simply ignored. In my use case, I don' really use %C- because I
always want color wherever possible. Though I suspect a user might
want to turn off coloring for certain part of the format string.

Replacing every %? with %C+%?%C- is really annoying in my "always color" case..

>> It smells as if it makes more sense to make _all_ %? placeholder
>> reset the effect of %C+ after they are done (even the ones that they
>> themselves do not color their own output elements), so that you can
>> mechanically replace "%?" with "%C+%?".

.. or even "%C+%?". My format string would become "%C+%h %C+%s%C+%d",
much harder to read.

> Thinking about this a bit more, perhaps we would want a generic
> mechanism to give parameters to various %? placeholders. This is not
> limited to "I can do color but there is no mechanism for the user to
> tell me that I should do color" %H, %h and %d may want to say.  An
> obvious and immediate example is that %h might want to be told how
> many hexdigits it should use.

Yeah that'd be nice. We already use %?(..) for %C. Maybe we can generalize that.

Still I'd like a way to define attributes for a group of placeholders
instead of just individuals. Continuing with the %?(...) syntax above
for specifying attributes for a specific placeholder, %(...) may be
used to specify global attributes that affect all following
placeholders until another %(...) stops the effect, or %?(...)
overrides it.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to