private merge()

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;
      }
    }
  }