loom¶
A terminal text editor for SBCL with Emacs-style keybindings. Its direct
runtime dependencies include cl-tty-kit, cl-host-kit, cl-history-kit,
cl-prolog-kit, cl-cli, cl-regex-kit, cl-boundary-kit,
cl-concurrent-kit, cl-date-kit, cl-json-kit, cl-log-kit, cl-process-kit,
cl-vcs-kit, and cl-resilience-kit.
Status: early development (0.1.x, MVP)
Buffer editing, Emacs-style movement/kill-ring/yank/undo and numeric
prefixes, window splits,
file-tree create/rename/delete, syntax highlighting, Common Lisp
evaluation, a user init.lisp, session persistence, a minimal LSP client
with diagnostics, completion, and definition navigation, named registers,
and keyboard macros are implemented in the current source.
The file tree uses a bounded concurrent
runtime: directory work is submitted to workers, while cache updates and
rendering remain on the editor's render lane. See the
roadmap for the implemented surface and deferred
Lem/Emacs-scale features.
Where to go next¶
- Getting started -- build loom and open a file.
- API reference -- selected editor APIs and the public
feature APIs. Core exports are defined in
src/package-exports.lisp, and feature exports in eachpackages/feature/<name>/src/package.lisp. - Architecture -- the layered design and the toolkit family it builds on.
- Roadmap -- what is implemented and what is not, yet.
- Development -- source builds, tests, coverage, and process-level checks.
The CLI accepts --help, --version, registered lifecycle options, and
loom [+LINE[:COL]] FILE....