README.md 1.5 KB

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

cmake -B build -S .
cmake --build build -j4

Running

./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

License

MIT