[dev] [edit] Introducing edit, a simple text editor

From: Arthur Jacquin <arthur_AT_jacquin.xyz>
Date: Wed, 27 Sep 2023 14:13:40 +0200

Hello suckless developers,

This is my first time here, I hope I'm doing everything correctly :)

There is a bit of a story leading to this post. About a year ago, I
discovered the kakoune text editor. At that time I was a pretty happy
vim user, but kakoune arguments for its reversed grammar[0] resonated
with me and soon made me want a vim replacement.

Already aware of and enthusiastic about the suckless philosophy, I
started by exploring the text editors referenced there[1]. I was
looking for the combination of a simple yet powerful editing model and
a truly suckless development style. As none satisfied me, I decided to
write my own.

The result is edit[2] (yeah, quite creative on the name).

It uses a kakoune-inspired selection-centric, selection-then-action
model. This makes multi-cursor or column/block editing natural,
without getting in the way for simple editing.

In a typical suckless fashion, edit is written in C99 with no external
dependencies, and is very easy to configure, hack on and extend. The
terminal drawing stuff is done by termbox2.h, a single-header library
discovered on [1].

In about 2.2K lines (plus 2.7K lines for termbox2.h), edit packs quite
a few features, such as syntax highlighting, autocompletion, a line
clipboard, and a search and replace engine supporting regular
expressions and subpatterns and fields reuse.

By now, it's fairly stable. No major change is expected, and I'm
gradually polishing it towards version 1.0. If you're interested in
taking the time to discover edit, the online manual page[3] might be a
good starting point. I'm looking forward some feedback, so feel free
to share your comments ;)

Happy hacking,

Arthur

[0]: https://kakoune.org/why-kakoune/why-kakoune.html
[1]: https://suckless.org/rocks/
[2]: https://jacquin.xyz/edit
[3]: https://jacquin.xyz/edit.1
Received on Wed Sep 27 2023 - 14:13:40 CEST

This archive was generated by hypermail 2.3.0 : Wed Sep 27 2023 - 14:24:09 CEST