This begins as a reimplementation of antirez's Kilo.
This project is for personal education and not for public consumption.
The education I hope to derive from this project is:
- Understand how terminals render text to the screen.
- Get a better grasp on how editors are constructed and the data structures used to build them.
- Write Common Lisp with an increased productivity without having to learn Emacs.
- Draw almost all inspiration from the lisp machine (Interlisp and Symbolics) editors of old.
To run the project, execute the following:
% make
cc -o cline cline.c -Wall -W -pedantic -std=c99
% ./cline
Hit ESC three times to terminate cline.
- Finish basic editing
- Refactor basic editing to a command structure using the "status message" area (Shift-Space).
- Integrate ECL or SBCL
- Narrow focus. There should only be text editing (structural formatting) and REPL.
- Don't reimplement terminal functionality (fonts, multiple buffers, etc) unless necessary.
- Cline should be more like nano and less like VS Code.