Piece Tables, Splay Trees, and "Trables" (Oh My!)
This was a lot harder that I thought it would be (and if you’re not sure what “it” is, check out my last post). First, I tried using a red-black tree to store the pieces, similar to the method proposed by Joaquin Cuenca Abela. He has already written a very impressive C++ implementation. The caveat with red-black trees is that they have a lot of cases to deal with, and (in most situations) perform only slightly better than some alternatives. And, as it was once wisely said:
Text Editor: Data Structures
The first step in building my text editor is to implement the core API. If you’re wondering why I want to do this, the original article is here.
A Text Editor
Lately I’ve been playing around with the idea of creating a text editor. Here’s a very quick and basic overview of what I think it should contain. The text editor has extensions, managers, projects, and a core API.