← Back to context Comment by secondcoming 3 days ago Is it even possible to write any text editor without some form of rope data structure? 5 comments secondcoming Reply cschmidt 3 days ago Here's a paper reviewing the various choices, that is often mentioned in discussions around data structures for text editors:https://www.cs.unm.edu/~crowley/papers/sds.pdf ben-schaaf 3 days ago VSCode uses a piece table (https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...). canucker2016 2 days ago MS Word used piece table, which led to the "fast save" feature - which saved only the newer pieces. caconym_ 3 days ago Gap buffers are the other classic option, and there are others too, e.g. piece tables. marssaxman 3 days ago Most certainly: gap buffers, piece tables, and line arrays are also popular choices.
cschmidt 3 days ago Here's a paper reviewing the various choices, that is often mentioned in discussions around data structures for text editors:https://www.cs.unm.edu/~crowley/papers/sds.pdf
ben-schaaf 3 days ago VSCode uses a piece table (https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...). canucker2016 2 days ago MS Word used piece table, which led to the "fast save" feature - which saved only the newer pieces.
canucker2016 2 days ago MS Word used piece table, which led to the "fast save" feature - which saved only the newer pieces.
caconym_ 3 days ago Gap buffers are the other classic option, and there are others too, e.g. piece tables.
marssaxman 3 days ago Most certainly: gap buffers, piece tables, and line arrays are also popular choices.
Here's a paper reviewing the various choices, that is often mentioned in discussions around data structures for text editors:
https://www.cs.unm.edu/~crowley/papers/sds.pdf
VSCode uses a piece table (https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...).
MS Word used piece table, which led to the "fast save" feature - which saved only the newer pieces.
Gap buffers are the other classic option, and there are others too, e.g. piece tables.
Most certainly: gap buffers, piece tables, and line arrays are also popular choices.