A modern, hardware-accelerated rewrite of Emacs in C and OpenGL
- Hardware-accelerated rendering powered by OpenGL through the Lume engine
- Blazing-fast performance with native C implementation
- Runtime extensibility using C without VM overhead
- Tree-sitter integration for robust syntax analysis
-
Smart Cursor Behavior
- Crystal cursor mode that adapts to syntax context
- Customizable blinking with configurable intervals
- Emacs-style intelligent cursor movement
-
Sophisticated Buffer Management
- Independent window scrolling
- Per-window cursor positions (not true TODO)
-
Emacs-Compatible Features
- Kill ring for advanced cut/paste operations
- Mark and region
- Incremental search (I-search)
- Electric pair and rainbow mode
- Tree-sitter powered syntax highlighting
- Flexible window management
NOTE: They are still hardcoded in the callback functions
C-0..9
- Digit argument
C-x C-f
- Find fileC-x C-s
- Save bufferC-x C-q
- Read only mode
C-n
- Next lineC-p
- Previous lineM-n
- Forward paragraphM-p
- Backward paragraphM-b
- Backward wordC-f
- Forward characterC-b
- Backward characterM-f
- Forward wordC-e
- Move to end of lineC-a
- Move to beginning of lineM->
- End of bufferM-<
- Beginning of buffer
C-space
- Set markC-d
- Delete character/kill regionC-k
- Kill line/kill regionC-y
- YankM-w
- Kill ring saveC-w
- Kill regionC-o
- Open lineC-O
- Duplicate lineM-c
- Capitalize word
C-j
- Eval last sexpC-v
- Eval ExpressionM-:
- Eval ExpressionR-e
- Eval region
C-s
- Incremental search forwardC-r
- Incremental search backward
M-q
/C-x 0
- Delete windowM-j
/C-x 2
- Split window belowM-k
- Split window aboveM-h
- Split window leftM-l
/C-x 3
- Split window rightC-x o
- Other Window
M-=
- Next themeM--
- Previous themeC-=
- Increase font sizeC--
- Decrease font size
For the complete list of keybindings, start reading the keyCallback()
function in main.c
.
- FreeType
- Tree-sitter
- OpenGL 4.6+
- GLFW
- Lume engine
- Clone and install the Lume library:
git clone https://github.com/laluxx/lume.git
cd lume
make && sudo make install
- Clone build and run Glemax:
git clone https://github.com/laluxx/glemax.git
cd glemax
make && ./glemax
- Iedit mode
- Rainbow delimiters mode
- Undo system
- Dired and wdired
- Proced
- Org-mode support
- Runtime variable/function inspection
- Integrated debugger
- Eshell
- EWW
- C evaluation
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.