339
340
for (let i = 1; i < diffs.length; i++) {
342
>
const lastResult = result[result.length - 1];
343
>
344
>
function shouldJoinDiffs(before: SequenceDiff, after: SequenceDiff): boolean {
345
>
const unchangedRange = new OffsetRange(lastResult.seq1Range.endExclusive, cur.seq1Range.start);
346
>
347
>
const unchangedText = sequence1.getText(unchangedRange);
348
>
const unchangedTextWithoutWs = unchangedText.replace(/\s/g, '');
349
>
if (unchangedTextWithoutWs.length <= 4
350
>
&& (before.seq1Range.length + before.seq2Range.length > 5 || after.seq1Range.length + after.seq2Range.length > 5)) {
351
return true;
352
}
353
354
return false;
356
>
357
>
const shouldJoin = shouldJoinDiffs(lastResult, cur);
358
>
if (shouldJoin) {
359
shouldRepeat = true;
360
result[result.length - 1] = result[result.length - 1].join(cur);
362
result.push(cur);
363
}
365
>
366
>
diffs = result;
367
} while (counter++ < 10 && shouldRepeat);
368