esc
Externally Scriptable Editor
git clone git://mccd.space/esc
| Log | Files | Refs | README |
commit 9b588fa4261c9212988187c4ebeceeda6d3c8245 parent 4da6e7402efc3084f1f8572b49eb80309c700ecc Author: Marc <marc@coquand.email> Date: Tue, 30 Jun 2026 11:13:01 +0200 Update readme Diffstat:
| A | README | | | 31 | +++++++++++++++++++++++++++++++ |
| D | README.md | | | 51 | --------------------------------------------------- |
| M | esc.1 | | | 5 | ++++- |
| A | pre-commit.sh | | | 5 | +++++ |
4 files changed, 40 insertions(+), 52 deletions(-) diff --git a/README b/README @@ -0,0 +1,31 @@ +esc(1) General Commands Manual esc(1) + + + + +NAME + esc - ⎋ externally integrated editor + + +SYNOPSIS + esc [file] + + +DESCRIPTION + esc is an editor heavily inspired by kak(1), emacs(1) and acme(1) built + for Wayland. Esc is an integrated editor, it is built to be easy to + interop with. It uses fuse(4) to expose a pseudo-filesystem. + + + Instead of having a plugin system, esc leverages Unix for changes. + + +ENVIRONMENT + ESC_MENU + The menu program to use. Defaults to wmenu(1) + + +SEE ALSO + esc-ipc(5) esc-backup(7) wmenu(1) + + esc(1) diff --git a/README.md b/README.md @@ -1,51 +0,0 @@ -# esc ⎋ - -Esc (**E**xternally **Sc**riptable Editor) is an extensible text editor written in C with it's own renderer. - -Instead of having a plugin system, esc leverages Linux for changes. - -## Goals - -* Support image rendering -* Support OSC escape codes -* Good plumbing capabilities -* Minimal aesthetics - -## Dependencies - -* SDL3 -* Some menu set to `$MENU`, defaults to wmenu -* Wayland - -## Compiling - -```sh -cc main.c unix_utils.* editor.* strbuf.* fuse_ipc.* renderer.* -o esc \ - $(pkg-config --cflags --libs sdl3 sdl3-ttf fuse) -``` - -## Inspiration - -Esc is heavily inspired by - -* Emacs -* Kakoune -* Acme - -## Why use this over... - -### Emacs - -Emacs is also an extensible text editor that uses Lisp as it's main language. They both feature very customizable buffers, however they take slightly different approaches. - -Emacs is self-contained, and thus is more portable. Esc tries to be an *integrated* editor, and thus it is extended by communicating with external tools. You can extend Esc with any language you want by communicating to it via IPC. - -Esc uses alt for chording, and tries to minimize its use. Many sequences instead use `ESC` followed by the key. This is to minimize stress on the fingers. - -### Kakoune - -Kakoune used to be my main editor. It is great. - -However, because it is intended to run in a terminal, it has quite a few limitations. It will probably never render images for example. - -Esc is also more focused on using a mouse for selections, and has no command mode. diff --git a/esc.1 b/esc.1 @@ -3,7 +3,7 @@ .TH esc 1 .SH NAME -esc - A unix integrated editor +esc - ⎋ externally integrated editor .SH SYNOPSIS @@ -16,6 +16,9 @@ esc is an editor heavily inspired by \fBkak\fR(1), \fBemacs\fR(1) and \fBacme\fR(1) built for Wayland. Esc is an integrated editor, it is built to be easy to interop with. It uses \fBfuse\fR(4) to expose a pseudo-filesystem. +.PP +Instead of having a plugin system, esc leverages Unix for changes. + .SH ENVIRONMENT .IP ESC_MENU diff --git a/pre-commit.sh b/pre-commit.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# Add to your hooks +# ln -sf ../../pre-commit.sh .git/hooks/pre-commit +man -l esc.1 | col -b > README +git add README