mle (flexible terminal-based text editor)

mle is a small, flexible, terminal-based text editor written in C. It
aims to keep its codebase small, minimize build-time and run-time
dependencies, be extensible and configurable, favor simplicity over
portability, and use shell commands to enhance functionality.

Features:
*Small codebase (~10k sloc)
*Full UTF-8 support
*Syntax highlighting
*Stackable key maps (modes)
*Extensible via Lua
*Scriptable rc file
*Key macros
*Multiple splittable windows
*Regex search and replace
*Large file support
*Incremental search
*Linear undo and redo
*Multiple cursors
*Auto indent
*Headless mode
*Navigation via ctags
*Movement via less
*Fuzzy file search via fzf
*File browsing via tree
*File grep via grep
*String manip via perl

fzf is optional but needed if you wish to use fuzzy file search.
