On Fri, Sep 21, 2012 at 12:47 AM, Junio C Hamano <gitster@xxxxxxxxx> 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. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html