Consider replacing the Scintilla control with something else, as some of its features must necessarily be duplicated (e.g. mirror undo-redo stack) for live editing+parsing and someday maybe incremental auto-saves. What it does do, it does reasonably well: DirectWrite rendering, weird non-standard tooltips, line numbers, an uncommon but well understood API, hard crashes if accessed after it's been disposed, odd characters if a default shortcut is disabled but not actively caught by an event handler, and so on and so forth.
Consider replacing the Scintilla control with something else, as some of its features must necessarily be duplicated (e.g. mirror undo-redo stack) for live editing+parsing and someday maybe incremental auto-saves. What it does do, it does reasonably well: DirectWrite rendering, weird non-standard tooltips, line numbers, an uncommon but well understood API, hard crashes if accessed after it's been disposed, odd characters if a default shortcut is disabled but not actively caught by an event handler, and so on and so forth.