# Lumacs A modern text editor in C++20, inspired by Emacs with powerful Lua scripting support. ## Features ### ✅ **Implemented (Polishing & Refactoring Phase)** - **Core Editing**: Kill ring, mark/region, undo/redo - **Buffer Management**: Multiple buffers, window splits - **Advanced Features**: Registers, keyboard macros, rectangles, minibuffer history - **Search**: Incremental search with highlighting - **Theme System**: Dracula, Everforest, Nord, Solarized, Gruvbox, and default themes - **UI**: GTK4 Frontend (primary) and Ncurses TUI (fallback) - **Modeline**: Modular, extensible status bar - **Lua Scripting**: Extensive Lua API for customization ### 🔄 **Planned** - Language modes (Python, C++, JavaScript) - Plugin system expansion - Advanced completion UI ## Tech Stack - **Core**: C++20 - **UI**: GTK4 / gtkmm (GUI), Ncurses (TUI) - **Scripting**: Lua 5.4 + sol2 bindings - **Build**: CMake 3.20+ ## Quick Start ### Building ```bash cmake -B build -S . cmake --build build -j4 ``` ### Running ```bash ./build/lumacs [file] ``` ### Key Bindings - **Theme Switching**: `M-x theme-selection` - **Window Splits**: `C-x 2` (horizontal), `C-x 3` (vertical), `C-x 0` (close) - **Buffers**: `C-x b` (switch), `C-x k` (kill), `C-x C-b` (list) - **Advanced**: `F3/F4` (macros), `C-x r s/i` (registers), `C-x r k/y/t` (rectangles) ## Documentation - [Architecture Overview](documentation/ARCHITECTURE.md) - [Development State](DEV_STATE.md) ## License MIT