loom is a terminal text editor for SBCL with Emacs-style keybindings. It
combines raw-mode editing, window management, interactive PTY terminal sessions,
shell commands, Git status, diff, and staging commands, code-formatting integration,
auto-save, feature slices, and a bounded concurrent file-tree runtime.
The full documentation is published at nerima-lisp.github.io/loom.
With Nix and flakes enabled:
nix run github:nerima-lisp/loom -- path/to/file.lispOmit the path to start with the current directory as the file-tree root.
Use M-x terminal for a PTY-backed child process and M-x auto-save-mode to
enable sidecar auto-save for modified file-backed buffers.
Pin a reviewed release or commit when adding loom to another flake:
inputs.loom = {
url = "github:nerima-lisp/loom/v0.1.0";
inputs.nixpkgs.follows = "nixpkgs";
};For a profile installation, run nix profile install github:nerima-lisp/loom/v0.1.0.
The complete public export list is maintained in
src/package.lisp. The current command catalogue is in
src/application/command-definitions.lisp,
and M-x lookup is implemented by
src/application/command-registry.lisp.
nix develop
nix build
nix develop -c sbcl --script run-tests.lisp
nix flake check --print-build-logs
nix fmt -- --ciThe development guide covers the unit and integration suite, PTY checks, coverage, and the concurrency benchmark.
Please read the nerima-lisp contribution guide and the package standard.
Open an issue or consult the nerima-lisp support guide.
MIT. See LICENSE.