All keys are optional. Unset keys keep their default values.
A machine-readable JSON Schema is available at
schemas/swank.nvim.json.
If you use neoconf.nvim, swank.nvim registers the schema
automatically, enabling completions and validation in .neoconf.json.
{
-- Key prefix for all swank.nvim keymaps (default: "<Leader>")leader="<Leader>",
-- Swank server connection settingsserver= {
host="127.0.0.1",
port=4005,
},
-- Autostart: spawn a CL implementation and connect automatically on attachautostart= {
enabled=true, -- start the implementation on FileType attachimplementation="sbcl", -- binary name or full path
},
-- UI settingsui= {
repl= {
position="auto", -- "auto" | "left" | "right" | "top" | "bottom" | "float"size=0.45, -- fraction (0 < size <= 1) or fixed columns/rows
},
floating= {
border="rounded", -- border style for floating windows
},
},
-- Swank contribs to load on connectcontribs= {
":swank-asdf",
":swank-repl",
":swank-fuzzy",
":swank-arglists",
":swank-fancy-inspector",
":swank-trace-dialog",
":swank-c-p-c",
":swank-package-fu",
},
}
Top-level options
Key
Type
Default
Description
leader
string
"<Leader>"
Prefix for all swank.nvim keymaps
server
table
see below
Connection settings
autostart
table
see below
Autostart settings
ui
table
see below
Window and layout settings
contribs
string[]
(list above)
Swank contribs loaded on connect
Server options — server
Key
Type
Default
Description
server.host
string
"127.0.0.1"
Hostname or IP of the Swank server
server.port
number
4005
TCP port (only used when connecting to an external server)
Autostart options — autostart
When autostart.enabled = true, swank.nvim generates a startup script, runs
the configured CL implementation, starts Swank on an ephemeral port
(:port 0), and connects automatically. You do not need to manage a start
file or port yourself.
Key
Type
Default
Description
autostart.enabled
boolean
true
Spawn the implementation on attach()
autostart.implementation
string
"sbcl"
Binary name or full path of the CL implementation
To disable autostart and connect manually:
opts= { autostart= { enabled=false } }
Then connect with <Leader>lc (or <Leader>rr to start + connect).
REPL UI options — ui.repl
Key
Type
Default
Description
ui.repl.position
string
"auto"
Window placement strategy
ui.repl.size
number
0.45
Width (for vertical splits) or height (for horizontal) as fraction (0 < size <= 1) or fixed columns/rows
0.45 (default) — 45% of the relevant editor dimension
0.33 — one third
80 — exactly 80 columns or rows
Floating window options — ui.floating
Key
Type
Default
Description
ui.floating.border
string
"rounded"
Any border value accepted by Neovim for nvim_open_win() (see :h nvim_open_win()). Common values: "rounded", "single", "double", "solid", "none"
Contribs — contribs
List of Swank contrib keyword symbols loaded on connect. The defaults cover
all standard SLIME-equivalent features. Removing a contrib disables the
functionality that depends on it: