Piece Tree
The underling text buffer used in VS Code/Monaco. For detailed architecture behind it, please read Text Buffer Reimplementation.
npm install vscode-piece-tree
API
;pieceTreeTextBufferBuilder.acceptChunk'abc\n';pieceTreeTextBufferBuilder.acceptChunk'def';;; pieceTree.getLineCount; // 2pieceTree.getLineContent1; // 'abc'pieceTree.getLineContent2; // 'def' pieceTree.insert1, '+';pieceTree.getLineCount; // 2pieceTree.getLineContent1; // 'a+bc'pieceTree.getLineContent2; // 'def'