A text editor inspired by Emacs with Lua at it's core
|
|
1 week ago | |
|---|---|---|
| documentation | 1 week ago | |
| include | 1 week ago | |
| lua | 1 month ago | |
| resources | 1 month ago | |
| scripts | 1 month ago | |
| src | 1 week ago | |
| tests | 1 month ago | |
| .envrc | 1 month ago | |
| .gitignore | 1 month ago | |
| CMakeLists.txt | 1 week ago | |
| GEMINI.md | 1 month ago | |
| README.md | 1 month ago | |
| init.lua | 1 month ago | |
| shell.nix | 1 week ago |
A modern, highly customizable text editor engine written in C++20, deeply inspired by Emacs and featuring powerful Lua 5.4 scripting support. Lumacs emphasizes a clear separation between its core logic and UI, making it both flexible and extensible.
Lumacs aims to provide a rich, Emacs-like editing experience with a focus on configurability and modern C++ practices.
The editor currently boasts a wide array of functional features, as detailed in the Development Plan.
Core Emacs Editing DNA:
Advanced UI & System Integration:
Extensibility:
sol2 bindingscmake -B build -S .
cmake --build build -j4
./build/lumacs [file]
Common Emacs-like keybindings are supported. Refer to init.lua for the full default keymap.
M-x set-theme (then use Tab for completion)C-x 2 (horizontal), C-x 3 (vertical), C-x 0 (close window), C-x o (next window)C-x b (switch buffer), C-x k (kill buffer), C-x C-b (list buffers)F3 (start macro), F4 (end macro/call macro), C-x r s (copy to register), C-x r i (insert register), C-x r k (kill rectangle), C-x r y (yank rectangle)MIT