Re:Microsoft is updating Notepad
by pkaye on Thursday July 12, 2018 @07:06PM
(#17519353)
How does an editor handle loading from disk and updating when someones inserts to the head of a file? Everything needs to be shifted.
[ Parent
| on HN ]
You use a https://en.wikipedia.org/wiki/Rope_(data_structure) and not a flat string.
You only flatten the string when it's time to write to disk.
For autosave files make sure to store the changes to the rope, not the full text.
Re:Microsoft is updating Notepad
by lighttower on Thursday July 12, 2018 @10:50PM
(#17520170)
There is a comment somewhere on HN from the guy that wrote the mapping trick that Word (or WordPerfect) invented way back. They were saving changes to the file rather than flattening. I wish I could find it now.
The data structure is called a piece table, if that ids your search.