An opinionated, extensible, keyboard-driven modal editor, written in Common Lisp._

⚠️ Experimental preview (unreleased). Coming soon.

Features

Modal Editing

  • Keyboard-driven selection-first editing
  • Hold s to enter structural editing (paredit-like ops)
  • Multiple cursors, text objects, macros
  • Folding, repeatable edits

Navigation & Discovery

  • Fuzzy search for files, symbols, commands
  • Leader menu, command palette, go-to
  • Dashboard, recent items, workspaces
  • Live keybinding cheatsheet

LSP

  • Tree-sitter parsing across major languages
  • Completion, hover, go-to definition
  • Rename, references, diagnostics
  • Symbols, signature help

Markdown Mode

  • Headings, TOC, link navigation
  • Checklists, lists, table editing
  • Backlinks, embeds, tag search
  • Mermaid/image preview, PDF export

Common Lisp

  • REPL, embedded shell
  • Debugger with restart controls, stack controls
  • Profiler, object inspector
  • Macro expansion, package/class browsers

Interface & Workflow

  • SDL3 rendering
  • Themes, notifications, overlays
  • Split views, focused-view control
  • Built-in tutorials

Project/Git Support

  • File browser, auto-reload
  • Git status, gutter markers
  • Side-by-side diffs
  • Inline color previews

Performance

  • Fast startup
  • Low-latency input/rendering
  • Good large-file editing performance

Get Started

Binary releases

Download prebuilt binaries from GitHub Releases.

Build from source

Requires SBCL, Quicklisp, SDL3 (+ ttf, image), libgit2, and a C compiler. See README for platform-specific packages.

git clone https://github.com/jfaz1/arcus.git
cd arcus
sbcl --script setup.lisp
sbcl --script install.lisp

Builds a native executable and installs to ~/.local/bin/arcus