in packages/blueprints/blueprint/src/resynthesis/merge-strategies/diff3.ts [98:118]
private merge() {
while (true) {
const i = this.findMismatch();
if (i === 1) {
const { o, a, b } = this.findMatch();
if (a !== undefined && b !== undefined) {
this.pushChunk(a, o, b);
} else {
this.pushRemainingChunk();
return;
}
} else if (i) {
this.pushChunk(this.currentLine.a + i, this.currentLine.o + i, this.currentLine.b + i);
} else {
this.pushRemainingChunk();
return;
}
}
}