-
Notifications
You must be signed in to change notification settings - Fork 0
Home
github-actions[bot] edited this page Apr 5, 2026
·
6 revisions
Pure-Lua Neovim-native Common Lisp development via the Swank protocol.
| Page | Description |
|---|---|
| Architecture | How the layers fit together; async model; event dispatch |
| Configuration | Full setup() option reference |
| Completions | blink.cmp, nvim-cmp, and omnifunc setup |
| Keybindings | Default keymaps, LSP-compatible overrides, customisation |
| REPL | REPL usage, window layout, auto-open behaviour |
| Protocol | Swank S-expression framing internals (for contributors) |
| Contributing | Coverage floor, test placement, code style |
| Testing | Test infrastructure, how to run tests, writing new tests |
lazy.nvim:
{
"corigne/swank.nvim",
ft = { "lisp", "commonlisp" },
opts = {},
}vim.api.nvim_create_autocmd("FileType", {
pattern = { "lisp", "commonlisp" },
callback = function(ev)
require("swank").attach(ev.buf)
end,
})Open any .lisp or .cl file. swank.nvim spawns SBCL and connects
automatically. The REPL appears as soon as the server is ready.
To connect to an already-running Swank server instead (e.g. on a remote host),
disable autostart and use <Leader>lc to connect manually.
| Feature | Status |
|---|---|
| TCP transport | ✅ |
| REPL (eval + output) | ✅ |
| Completion (blink.cmp) | ✅ |
| Autodoc / arglist | ✅ |
| Describe symbol | ✅ (floating popup) |
| Inspect object | ✅ |
| Cross-reference (xref) | ✅ |
| Find definition | ✅ |
| Compiler notes (diagnostics) | ✅ |
| Debugger (SLDB) | ✅ |
| Trace dialog | ✅ |