Neovim: Installation¶
The Lua source frontend lives in lua/bugsaur/init.lua in the repository you
already cloned. There is nothing separate to download.
Wire it in¶
After editing your config, restart Neovim — or :source $MYVIMRC and call
setup again.
binary points at the built debugger, so bugsaur does not have to be
installed globally on PATH.
gui = true versus gui = false¶
The flag decides who opens the debugger window.
gui = true |
Neovim launches the window itself. Recommended — no separate terminal needed. |
gui = false |
You run the debugger yourself and Neovim connects to it as a source frontend. |
Window options¶
Four options, all off by default, all describing the project's window rather than a language or a session — which is why they live here and not in a profile:
require("bugsaur").setup({
gui = true,
gui_focus_on_stop = true, -- the window raises itself on every stop
auto_attach = true, -- on Neovim start, attach to an already open window
gui_theme = "light", -- window theme, if the project did not name one
gui_width = 1200, -- initial width, if the project did not name one
gui_height = 800, -- initial height, if the project did not name one
gui_layout = { -- panel layout, if the project did not name one
left = 0.3,
bottom_left = { "Call Stack" },
bottom = {},
},
})
| Option | Default | What it does | When it is read |
|---|---|---|---|
gui_focus_on_stop |
false |
the window comes forward on each stop | when the GUI process starts |
auto_attach |
false |
silently return to the project's running session | on every setup() call |
gui_theme |
nil |
window theme when the project did not choose | when the GUI process starts |
gui_width |
nil |
initial window width when the project did not choose | when the GUI process starts |
gui_height |
nil |
initial window height when the project did not choose | when the GUI process starts |
gui_layout |
nil |
panel layout when the project did not choose | when the GUI process starts |
\"When it is read\" is where the confusion comes from
Five of these are read when the GUI process starts. Changing them in
init.lua and re-sourcing does nothing to a window that is already open —
the new value applies to the next window.
The project wins over the editor¶
gui_theme, gui_width, gui_height and gui_layout apply only when the project has said nothing. A
[ui] section in .bugsaur/config.toml takes precedence, because it is shared
by everyone who opens that project. Details:
Configuration → UI.
Execution highlighting¶
On a stop, the plugin opens the current source location, places the ▶
execution sign and highlights the whole stop line with the
BugsaurExecutionLine group — by default a link to CursorLine.
Breakpoint signs have three states: pending ○, verified ●, rejected ⊗.
Turn the line highlight off, or point it at a different group:
Verify¶
Open a project, put the cursor on an executable line and run:
If :DebugStart is not a known command, setup() did not run — check the path
in dir or in rtp:prepend.
Next: Quick Start.