1397
1398
private deleteNodeHead(node: TreeNode, pos: BufferCursor) {
1400
>
const originalLFCnt = piece.lineFeedCnt;
1401
>
const originalStartOffset = this.offsetInBuffer(piece.bufferIndex, piece.start);
1402
>
1403
>
const newStart = pos;
1404
>
const newLineFeedCnt = this.getLineFeedCnt(piece.bufferIndex, newStart, piece.end);
1405
>
const newStartOffset = this.offsetInBuffer(piece.bufferIndex, newStart);
1406
>
const lf_delta = newLineFeedCnt - originalLFCnt;
1407
>
const size_delta = originalStartOffset - newStartOffset;
1408
>
const newLength = piece.length + size_delta;
1409
>
node.piece = new Piece(
1410
>
piece.bufferIndex,
1411
>
newStart,
1412
>
piece.end,
1413
>
newLineFeedCnt,
1414
>
newLength
1415
>
);
1416
>
1417
>
updateTreeMetadata(this, node, size_delta, lf_delta);
1418
>
}
1419
1420
private shrinkNode(node: TreeNode, start: BufferCursor, end: BufferCursor) {