On Wed, Jun 14, 2017 at 2:54 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> The color experts agreed that (3) might be the best solution >> as this gives most flexibility: >> >> "I would be happy as I can configure the bounds highlighting >> to not exist, it would degenerate to a pure Zebra, which is >> very simple to understand. Junio seemed to like (2) a lot, so >> he would configure both dim colors to be 'context', but configure >> the highlight colors to be attention drawing. So everybody would >> be happy. It is also not too many colors, we are good at for loops." > > Another thing I found a bit confusing in the description of choices > in the documentation was that description for some began with "Based > on X.", and as a plain reader, I couldn't tell if that is saying > "the implementation happens to be similar or shares code with X" > (which is not all that interesting to the end user) or "the meaning > this mode tries to convey is the same as X but the presentation is a > bit different" (in which case the end user is hinted that it is > benefitial to understand what informacion the mode X shows and how). it is the latter, as I wanted to save typing. Maybe it was savings at the wrong place. > > For example, I view what I prefer (i.e. (2)) as a variant of Zebra > (i.e. (1)). Ok, so in a reroll I'll add Zebra as the base (It conveys all information that we have, any further modifications is just giving a better finish to the painting.) and then make commits on top of it adding the taping and water-dunking method on top. By organizing it in multiple commits the algorithm may become clearer. > Conceptually, you paint the diff output using water > soluble paint into a Zebra pattern, then apply thin strips of > protective tape to places where two Zebra colors are adjacent to > each other (i.e. do not cover the boundary between a block of a > Zebra colored moved lines and a block of context lines), dunk the > whole thing in water and then remove the strips of tape. Regions > covered by the strips of tape will retain the Zebra colors, while > the remainder of the Zebra colored part are colored in a much subdued > way. Understanding how Zebra mode marks the moved lines would help > understanding its output, but your implementation may not share much > code with the actual implementation of Zebra-painting. > > Thanks. > Thanks, Stefan