Writing my own text editor, and daily-driving it(blog.jsbarretto.com)
100 points bytodsacerdoti7 hours ago |16 comments
greatgib13 minutes ago
One of the best kept secret and one that he should have tried is "Kate".

Good old style editor that is a native app, not an electron app. All the features that you might want and more, but simple and efficient.

And the most important for me, super snappy. I can't bear the latency that you get for typing code when using things like vscode. I don't know how people can appreciate that.

whynotmaybe4 hours ago
Fond memory of when I wrote an editor in the 90's because we didn't want to use "ms edit" for COBOL and asm files.

Syntax coloring, fast buffering and even a screen saver.

You could even call the compiler directly from it.

All this running on a pentium 120 and it felt a thousands times faster than today's vscode.

But vscode can edit multiple files at the same time...

fragmede2 hours ago
Firing up VSCode on an old laptop, and having it get totally bogged down running a text editor killed a part of my soul. I'm from the vim era of computing, but I have a hard time telling people that's the route to go today with today's tools.
b00ty4breakfast1 hour ago
Classic electron app. vscode is no doubt a powerful tool but it and other apps in the modern milieu are the software equivalent of those big lifted trucks that like to "roll coal" and get like 5mpg highway.
willrshansen5 hours ago
This feels like two steps up from a highly customized vim config. But I want one step up.

I want to be able to piece together an editor from modular task specific executables. Different programs for file searching, input mapping, buffer modification and display, etc. Probably similar to how LSPs are already separated from most editors.

One step less hardcore than writing a whole editor.

Anyone know of any existing projects along these lines?

kalterdev4 hours ago
Acme [1]

It steps back from the “customize everything” mantra, believing that approach leaves users with an underdeveloped essential system. But it still has two major APIs: one for window manipulation [2], the other for text-based integration with the surrounding system via plumber [3].

All textual CLI tools (that is, those without pseudographics) work by default and are the heart of its style.

I use Acme for everything except web browsing (although most links are still managed by Acme).

[1]: http://youtu.be/dP1xVpMPn8M

[2]: http://9p.io/magic/man2html/4/acme

[3]: http://9p.io/sys/doc/plumb.html

bananaboy3 hours ago
I love this! The line “resist the urge to push the difficult bits off to a box of statistics” particularly resonated with me!
osmsucks46 minutes ago
I, too, mourn the death of Howl. It was a quirky yet surprisingly "comfortable" editor.

But I am now at home with Helix and Flow Control.

priowise1 hour ago
Building your own editor seems to be one of those projects that teaches you far more about software design than using any existing one.

Did anything in your approach change how you think about everyday tooling?

mllev154 hours ago
Josh Barretto is the genius behind the Super Mario 64 GBA port. I would gladly use his editor.
codazoda5 hours ago
I use my own text editor too. Nobody else seems to get value from it. I’m still surprised by the value we get from home grown solutions.
marckerbiquet23 minutes ago
I use my own text editor too, written using my own programming language. Fortunately Operating Systems suit my needs and I won't have to write my own OS ;-)
fjfaase57 minutes ago
I use my own editor too. I modified an existing editor to my own needs. But I do use VSC as well for multi file projects. My editor can load images as well and has a scripting language to manipulate images. I primarily use it to edit my website, which is a static website in bare HTML. It also has some 'browser' functions in the sense that F5 opens a link including jumping to an anker if there is one in the link. It does have colour coding for HTML that also checks for matching tags.
willrshansen5 hours ago
Didn't even link it. :(
mbrezu3 hours ago
I guess the "link" is the implicit suggestion to write your own :-)
altilunium4 hours ago
I use my own text editor too.

Sometimes I get surprise questions from my friends whenever they see my screen. “What’s that?” “That’s my own text editor!”

hnlmorg2 hours ago
I’m currently writing my own text editor (it’s basically a markdown equivalent of Jupyter notebooks).

I’ve also written my own terminal emulator and my own shell. The shell does actually see other contributors and users these days too.

mudkipdev4 hours ago
I would recommend using the ropey crate for easy performance gains. A string buffer is quick to implement but you will hit a wall as soon as you need to edit large files.
mizmar3 hours ago
It's not that bad. You need really large files to notice. The largest realistic file I'll ever touch - sqlite3 amalgamation with 270k lines and 9.1 kB - still takes only 6 ms to memmove it on my poor laptop. Any regular up-to 10k lines file is memmoved in order of microseconds.
sampullman2 hours ago
That's true for code editing, but it's nice to not have to reach for a different solution when editing huge files. Sometimes I like to open up big log files, JSON test data, etc.
mejutoco14 minutes ago
I am always surprised even vim chokes on files with one massive line. That could be a useful optimization too.
oneeyedpigeon1 hour ago
Do you actually edit big log files?
croisillon1 hour ago
on iPhone Safari i don't get the grey middle background layer, only dark text on dark background
abktowa4 hours ago
Should make my own text editor. Would make for an interesting project at least.
givemeethekeys3 hours ago
I smell money burning.