1373
1374
private deleteNodeTail(node: TreeNode, pos: BufferCursor) {
1376
>
const originalLFCnt = piece.lineFeedCnt;
1377
>
const originalEndOffset = this.offsetInBuffer(piece.bufferIndex, piece.end);
1378
>
1379
>
const newEnd = pos;
1380
>
const newEndOffset = this.offsetInBuffer(piece.bufferIndex, newEnd);
1381
>
const newLineFeedCnt = this.getLineFeedCnt(piece.bufferIndex, piece.start, newEnd);
1382
>
1383
>
const lf_delta = newLineFeedCnt - originalLFCnt;
1384
>
const size_delta = newEndOffset - originalEndOffset;
1385
>
const newLength = piece.length + size_delta;
1386
>
1387
>
node.piece = new Piece(
1388
>
piece.bufferIndex,
1389
>
piece.start,
1390
>
newEnd,
1391
>
newLineFeedCnt,
1392
>
newLength
1393
>
);
1394
>
1395
>
updateTreeMetadata(this, node, size_delta, lf_delta);
1396
>
}
1397
1398
private deleteNodeHead(node: TreeNode, pos: BufferCursor) {