Closed
Description
require('diff').convertChangesToXML(
require('diff').diffWordsWithSpace('foo\nbar', 'foo\n\n\nbar')
)
Returns:
'foo<del>\n</del><ins>\n\n\n</ins>bar'
Desired output is:
'foo<ins>\n\n</ins>bar'
As far as I understand, diffWordsWithSpace
currently treats any amount of spaces as a single token. Which makes sense for diffWords
(where space isn't significant), but doesn't work well for diffWordsWithSpace
.
Suggestion: maybe it should compare spaces between words on character-by-character basis?
Possible solution - change regexp in tokenizer like this:
< let tokens = value.split(/(\s+|\b)/);
---
> let tokens = this.options.ignoreWhitespace ?
> value.split(/(\s+|\b)/) :
> value.split(/(\s|\b)/);
Seems to work fine for me, but I'm not quite sure it's correct.
Metadata
Metadata
Assignees
Labels
No labels