Bye, bye custom lexer feature
I am removing the user-defined custom lexer feature.
I don't think anyone is really using it yet, but it was useful for adding syntax highlighting to Peeknext's config files.
I have been busy upgrading to the latest Qt version, a newer version of Scintilla, and a new Python bindings generator. Peeknext's core editing component is a custom fork of Scintilla, so I have had to port all the changes along the way.
I am also writing a new Scintilla wrapper API specifically for Peeknext, which should make future upgrades less cumbersome.
Another change is simplifying how lexers are implemented internally. Internal lexers can now be written as a single C++ file, making them much easier to maintain.
As part of this, I have re-implemented the config file lexer. It now supports code folding, which is nice.
So, all in all, a lot of invisible changes. Hopefully, these will translate into lower memory usage, faster typing, and more reliable document handling.
I might bring back the custom lexer feature in the future, but more likely with a regex-based approach, similar to Sublime Text and others.
For now, I would rather keep the lexer system simple and maintainable.
All blog posts