由于我总是对现有的编辑不满意,我一直想要开始的项目是我自己的文本编辑器.然而,进行文本编辑是一项严肃的事
除了分析现有文本编辑器的源代码之外,还有关于这个主题的书籍或其他资源(如学术工作)吗?我特别感兴趣的是教会如何处理内存以及如何管理文本插入的东西(如果你有一个100 MB的文件并想在x位置添加一个字符,你不能只是memmove巨大的文本块......) .
我正在寻找最佳的数据结构来为文本添加样式(比如在文本编辑器中).该结构应允许以下操作:
我已经考虑了包含文本范围的列表/数组,但是它们不允许快速插入而不重新计算插入点之后所有样式的位置.
具有相对偏移的树结构支持#2,但是当我向文本添加大量样式时,树将快速退化.
还有其他选择吗?