Hello,
I am announcing mle, a small terminal-based text editor written in C:
https://github.com/adsr/mle
mle weighs in at ~10k sloc, has 1 external dep[0], is configurable,
extensible / scriptable, and fast. The default setup is nano- or
emacs-like, but it supports modes as well. I've used it daily for 2+
years. You can view some demos here:
http://imgur.com/a/ZBmmQ
### Aims
* Keep codebase small
* Require minimal dependencies
* Make extensibile and configurable
* Favor simplicity over portability
* Use shell commands to enhance functionality (e.g., grep, tree)
* Enjoy writing C
* Annoy the world with another text editor
### Features
* Small codebase (~10k sloc)
* Only 1 out-of-repo dependency (pcre)
* Full UTF-8 support
* Syntax highlighting (via pcre)
* Stackable key maps (modes)
* Extensible via any program capable of stdio
* Scriptable rc file
* Built-in text editing language (lel)
* Key macros
* Multiple splittable windows
* Regex search and replace (with capture groups)
* Large file support (beats vim in this benchmark
http://i.imgur.com/VGGMmGg.gif)
* Incremental search
* Linear undo and redo
* Multiple cursors
* Headless mode
* Movement via less
* Fuzzy file search via fzf
* File browsing via tree
* File grep via grep
* Decently portable (tested on Linux, cygwin, macOS)
### Notes
* There is a TODO list here[1].
* The editor back-end, mlbuf[2], is a standalone library which can be
repurposed.
* mlbuf's main data structure is a linked list of C strings, similar to nano.
* The built-in editing language, lel, is an experiment. I question
whether it belongs.
* There is a fork of mle called eon[3] which adds mouse support, Lua
plugins, and notepad-like defaults.
As always, patches and feedback are welcome.
Thanks,
Adam
[0] pcre; termbox and uthash are included in-repo
[1]
https://github.com/adsr/mle/blob/1e9a467/mle.h#L637
[2]
https://github.com/adsr/mlbuf
[3]
https://github.com/tomas/eon
Received on Wed Mar 29 2017 - 15:57:49 CEST