NZ Text Editor
Extended Scintilla api is a copy of wxScintilla/wxStyledTextCtrl api to a simple wrapper class.
The class simply takes a pointer to your instance of Scintilla. The string datatype is handled
by a macro so the api will use whatever string type you set. A couple of callback functions
must be set. One handles converting your string to the type Scintilla expects, the other changes
Scintilla's string type to yours before returning it. This way the api can be used as if it
natively supported your string type. If you use Scintilla style strings anyway use a build
macro to turn off the callbacks and they will be passed verbatim to and from Scintilla.
All of wxScintilla api is copied as is except there are a few functions with differing names between
wxScintilla and wxStyledTextCtrl, those functions are both defined and do exactly the same thing.
The class does not own your Scintilla and does not store any variables except for the pointer to
Scintilla. The idea is that one could switch ExtScintilla with wxScintilla and have no issues.
Also some names are different from Scintilla.iface, those will be defined too, mostly back vs background
kinda thing. It may seem like this is a waste of time but once the iface generetion script is built
the whole process is rather fast. It also fits some of the project goals where wxScintilla will eventually
be dropped by the editor and a different Sci-Platform used.