Re: [PATCH v2 4/5] Make boundary characters for --color-words configurable
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- May 12, 2008, 19:57 UTC
- Message-ID
- <200805122157.57366.jnareb@gmail.com>
- In-Reply-To
- <7vve1jxrg9.fsf@gitster.siamese.dyndns.org>
Junio C Hamano wrote:
Show 20 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes: >> "Ping Yin" <pkufranky@gmail.com> writes: >>> >>> To achieve the best, we have to find the pairs of lines (one minus and >>> one plus for each pair) which most match each other, and then do the >>> word diff for each pair. >> >> Wouldn't be enough to treat run of plus/minus lines as a single block, >> tokenize, do token-based (as opposed to line-based) diff, then show it >> using linebreaks of the destination file (pluses line)? > > I tried the "using linebreaks" but I discarded it because I did not think > it would work. If we rewrite the last three lines above with this single > line: > >> Wouldn't be enough to use magic? > > and apply that algorithm between the two, then we would get a long single > line that has words painted in red, two lines worth, followed by green "to > use magic?" and finally an end-of-line.
It looks then like inserting (retaining?) newlines in word/token based --color-words output isn't simple. It would have to produce readable output both for the case you stated/mentioned, and for the opposite case (replacing single line by multiple lines). What's even more difficult, it should produce clear output for a simple case of rewrapping output, e.g. the following as replacement.
>> Wouldn't be enough to treat run of plus/minus lines as a single >> block, tokenize, do token-based (as opposed to line-based) diff, >> then show it using linebreaks of the destination file (pluses >> line)?
Gaahh... I don't think this (word diff/token diff) is something computer science has worked on?
-- Jakub Narebski Poland