This is a great project! Is there a place to look up the list of inbuilt lexers to understand the editor language support? Will forward to my (more hands-on devs) team members.
Glad to see this hit the front page again! I’ve been making some contributions lately and it introduced me to Lua. At its core it’s basically a very thin wrapper around the Scintilla editing component used by many open source editors. I’ve been working on getting some lower level APIs added for more control over the UI.
Mitchell is to be commended for maintaining the editor solo for so many years and keeping the LOC count really low (2000 lines of C, 4000 lines of Lua). If you’re willing to read the source it’s really easy to wrap your head around the whole thing, which can’t be said for Emacs or Vim. When I find the time I’ll finish my vi mode…
I downloaded it recently and found it to be quite useful for quick notes. And I can attest to its "fast" claim, using it on a heavily monitored corporate computer, with CrowStrike and what-not; curiously, and I may being hyperbolic here, but, I got the feeling that it was opening faster than MS Notepad, even with Copilot disabled.
The only thing missing is for me is the "save temporary file" behavior, as I have this habit of making a quick note, close to save up space, both in RAM and view, then later on, fire it up again. Will see if there's a Lua api for this later.
I've looked into TextAdept a few times. It appeals to me because it's got a standard Qt UI, is fast and lightweight and highly customizable with Lua. But I could never commit the time to fully customize it for daily use. Anyway, I'm committed to emacs. Other Scintilla-based editors with a similar feel (but missing the Lua angle) are Geany and Kate.
dang is a mod—as far as I'm aware, they are the mod. When a previously-covered story crops up again, they typically add a comment like this with links to previous discussions, so you can easily see what was said before.
It uses Scintilla. In fact, at its core, it’s basically just a wrapper around the Scintilla message passing API. There’s a Lua script that parses the Scintilla header files to create the Lua tables that interface with the Scintilla library.
reply