alt.hn

3/1/2026 at 5:36:58 AM

Textadept

https://orbitalquark.github.io/textadept/

by giancarlostoro

3/4/2026 at 3:46:34 AM

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…

by Fwirt

3/3/2026 at 11:36:43 PM

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.

by jasperry

3/4/2026 at 2:22:11 AM

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.

by rickstanley

3/4/2026 at 2:29:43 AM

Sounds like you're looking for the scratch file extension [1]

[1]: https://github.com/orbitalquark/textadept-scratch

by bccdee

3/4/2026 at 2:14:58 PM

If I was malware, one of the first things I'd do is check that scratch files directory for secrets.

The default behavior of Notepad++ is a very real security risk. So many system admins and developers will throw passwords and API keys into there and just forget about it. The scratch files are all sitting there unencrypted and with easy to exploit permissions.

Alas, my first thought after seeing TextAdept was that it could serve as a more secure alternative to Notepad++.

by evanjrowley

3/4/2026 at 4:19:48 PM

Legitimately curious, how would you implement a “secure” scratch file functionality? Or is it just that the whole notion of scratch files is insecure?

The great thing about Textadept’s extensibility (and use of Lua specifically) is that it’s easy to pull in other Lua modules to add functionality. I don’t think it would be much work to modify the scratch file extension to prompt you for an encryption key on startup and then run the scratch files through libsodium (via luasodium) if you want to have your cake (scratch files) and eat it (some cursory level of security).

by Fwirt

3/4/2026 at 3:05:02 PM

I have this view as well. After years of Notepad++, the last security problem made me want to switch, not because of just that, but that, overall, since the author has an active voice expressing his political views (which is totally fine), I have this unease feeling that it makes him, and his products, a notorious target.

Searching for alternatives, Textadept seemed to fill the gap between features, speed and simplicity.

The plugin mentioned by the parent is really easy to grasp and tailor to my needs, which would not be the case with Notepad++, well, not for me at least.

by rickstanley

3/4/2026 at 2:02:45 PM

That is exactly it. Much appreciated.

by rickstanley

3/3/2026 at 11:00:04 PM

> Unlimited split views.

Ok, well now I have to find out what hapoens if I get enough splits to make the width of each less than a pixel.

by benrutter

3/4/2026 at 3:47:29 AM

The splits functionality is one of its weaknesses right now IMO, but there are some improvements in the works.

by Fwirt

3/4/2026 at 1:39:45 PM

I developed some plugins for Textadept some time ago. It's very lightweight and mature, but its dependence on different backends on different platforms introduced some frictions (QT vs. GTK etc.). We had a working Mermaid and image viewer plugin. It's really extensible. Never upstreamed them though.

It uses Lua LPEG lexers, which are extremely easy way to de develop syntax parsers/LSPs for new or unsupported languages.

Eventually our project moved to Pragtical, which has SDL as a cross-platform backend and uses the more modern meson as the build system, which made developing for it much easier.

by textadept-thrwy

3/4/2026 at 4:39:21 PM

Shameless plug: For anyone interested in new code editors, I'm working on a multi-platform one called ecode [1]. It's similar in spirit to Notepad++ and Textadept, and some of the newer ones like Zed. It tries to be a fresh take using modern tools like LSP and DAP. I started it after using Geany for many years but finding it lacking some essential features for my needs. Speed is a big focus and it has very fast startup time.

[1] https://github.com/SpartanJ/ecode/

by SpartanJ

3/4/2026 at 7:54:23 PM

[dead]

by knowitnone3

3/4/2026 at 12:37:11 AM

Always nice to see open source text editors, in my opinion. Textadept's codebase is a fine example.

by mjtk

3/4/2026 at 1:15:22 PM

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.

by najarvg

3/4/2026 at 6:06:13 PM

Lexing is handled by one of Mitchell's other projects, Scintillua. You'll find the source for all the built-in lexers in there. https://github.com/orbitalquark/scintillua

The documentation for Scintillua also gets pulled into Textadept's API documentation as a dependency, so the syntax is also explained there. It's basically a bridge between Scintilla's native lexing and LPeg.

by Fwirt

3/4/2026 at 2:15:41 AM

Check out Lite XL (also Lua-based)

[1] https://github.com/lite-xl/lite-xl

[2] https://lite-xl.com/

by sea-gold

3/4/2026 at 10:59:41 AM

tried this one: failed to open any file in my home directory, as it contains non-latin characters...

by omgtehlion

3/4/2026 at 1:26:53 AM

Related. Others?

TextAdept - https://news.ycombinator.com/item?id=39571814 - March 2024 (31 comments)

by dang

3/4/2026 at 11:44:44 AM

What's the point of this comment?

by crefiz

3/5/2026 at 4:16:40 AM

oneeyedpigeon already explained it, but allow me to follow up with more information:*

You can see a zillion examples here: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

The purpose is to satisfy extra-curious readers (https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...) who might want to read previous discussions of the same story.

No criticism is intended! I add this because sometimes people think there's an implied "why did you repost this, it's already been discussed" - but not at all: reposts on HN are fine after about a year or so: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

* than you could possibly want, but oh well

by dang

3/4/2026 at 12:07:19 PM

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.

by oneeyedpigeon

3/3/2026 at 10:49:01 PM

What GUI text editor widget does it use, or is it home-grown?

I don’t see it mentioned.

by WalterGR

3/4/2026 at 3:49:23 AM

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.

by Fwirt

3/3/2026 at 10:56:23 PM

? Seems to support GTK, Qt and ncurses?

by jrm4

3/3/2026 at 11:39:11 PM

I saw that in the code on the github repo

by davidkwast

3/3/2026 at 10:57:39 PM

looks like it uses scintilla

by keithnz

3/4/2026 at 10:08:51 AM

Without any sarcasm, really, what is the value proposition in this one, that would make someone ditch Sublime Text for it?

by larodi

3/4/2026 at 6:14:29 PM

For starters, Sublime Text is closed-source. A better parallel would be something like Neovim, which also is extensible with Lua. What draws me to Textadept over Neovim is that it's intentionally kept very small, which means it's very easy to understand and extend. Contrast with Vim and its massive manual. However, like Emacs, almost everything is fair game for customization. For example, I wanted minimap functionality, so I implemented it:

https://github.com/Fwirt/textadept-minimap

Textadept's biggest strength is also its biggest weakness: Scintilla allows for a lot of features that are nigh-impossible in the likes of Vim and Emacs due to their reliance on terminal behavior. However, Scintilla is not terribly well optimized and does not support GPU rendering, meaning that while there is very little bloat, Textadept can still chug in some edge cases. The most notable instance right now is large files with no line breaks (e.g. minified js libraries). Other Scintilla-based editors also suffer from this to varying degrees, although Notepad++ has some performance optimizations that seem to mostly mitigate it. Notepad++ is also Windows only and not as easily extensible.

by Fwirt

3/4/2026 at 2:06:59 PM

Can't speak to ditching a preferred text editor for this one, as text editors are one of the most highly personal preferences in computing.

But as a guy that teaches kids about computing and system administration, having another option to demonstrate is excellent. For many things something like nano is fine, but for something a bit more robust? And is available for many platforms? And is small and self-contained? It's a great option. The Lua extensibility is also a bonus.

Teaching teenagers how to use vim or emacs is, not surprisingly, a bit of a chore.

by deltarholamda

3/4/2026 at 10:16:50 AM

I haven't spent much time with it at all, but my very early impressions are:

- (Fairly) low memory footprint

- Nice approach to buffers which seems to borrow from vi

- Apparent very high extensibility using lua

by oneeyedpigeon

3/4/2026 at 11:49:28 AM

No sarcasm intended, but probably same reasons lots of people ditch sublime after trying it for a day;)

by throwaway290

3/4/2026 at 3:01:15 PM

hm... whole industry embraced its approach to palette of tools, dunno what you mean really :D I still try to avoid it for more than 10 years now, but is on all my compatible boxes.

of course, knowledge of VIM is essential to anyone when doing CLIs.

by larodi

3/4/2026 at 4:02:47 PM

I don't know anybody using Sublime:) what means "palette of tools"?

by throwaway290

3/4/2026 at 10:30:20 AM

The features list mentions:

- Configurable key bindings, including language-specific keys, key chains, and key modes.

Does this include being able to make it feel like vi/vim?

by Tepix

3/4/2026 at 3:15:14 PM

From the web page: You can also group key bindings into modes such that while a mode is active, Textadept ignores all key bindings outside that mode until the mode is unset (e.g. Vim-style modal editing). The keys documentation describes all of this in more detail.

by sigzero

3/4/2026 at 12:33:42 AM

Beautiful landing page

by ramoz

3/4/2026 at 1:14:42 AM

I recommend capitalizing TextAdept, as it took me way way way too long to figure out it wasn't text a dept (SMS which department????)

by eleventyseven

3/4/2026 at 6:31:23 AM

Nice. Im looking for such projects. Will give it a try

by Surac

3/4/2026 at 2:27:15 AM

[dead]

by Paddyz

3/3/2026 at 11:23:40 PM

Do we still need text editors in the AI agents era?

/s

by throwaw12

3/4/2026 at 6:55:42 AM

Now, everyone can vibe code their own text editor.

by rossant

3/4/2026 at 1:59:45 AM

We would need it when this era ends.

/s

by kalterdev