Undo and redo have been a staple operation of text editors probably since the first typo was ever made, yet there has not been a lot of innovation around refining the idea of what undo and redo could be. Let’s explore what I mean…| invoke::thought()
Text editors can be an interesting challenge to program. The types of problems that text editors need to solve can range from trivial to mind-bogglingly difficult. Recently, I have been on something of a spiritual journey to rework some internal data structures in an editor I have been building, specifically the most fundamental data structure to any text editor: the text.Table of Contents Resources Why? In The Beginning Investigation My Own Piece Tree fredbuf ConclusionResourcesBefore we div...| invoke::thought()
Mapping strings to things makes sense. You take a meaningful string and you assign it a value. As with most things we do in programming there are many pitfalls to approaching a problem. So, lets explore some of them!| invoke::thought()
As we all know, C++17 is on the horizon. With it’s release will comes a new member to the data container family, std::variant.| invoke::thought()
So what can you expect here? In a word, code. Lots of code! Why? A couple of reasons:| invoke::thought()