Справочник по командам Neovim¶
Команды и стандартные mappings¶
| Команда | Стандартный mapping | Описание |
|---|---|---|
:DebugStart [профиль] |
<leader>dS |
запустить сессию; имена профилей дополняются по Tab, привязка всегда берёт профиль по умолчанию |
:DebugTest |
<leader>dT |
отладить тест под курсором |
:DebugContinue |
<leader>dc |
выполнять до следующей точки останова |
:DebugStepInto |
<leader>di |
войти в вызов на этой строке |
:DebugStepOver |
<leader>do |
выполнить строку, остановиться на следующей |
:DebugStepOut |
<leader>dO |
доработать до возврата из функции |
:DebugPause |
<leader>dp |
прервать работающую программу |
:DebugStop |
<leader>dt |
завершить сессию |
:DebugFocus |
<leader>du |
вывести окно отладчика вперёд |
:ToggleBreakpoint [условие] |
<leader>db |
поставить или снять точку останова на этой строке |
Следите за регистром: <leader>do — шаг с обходом, <leader>dO — шаг
наружу; <leader>dt — стоп, <leader>dT — отладка теста, <leader>dS —
старт.
Опции setup()¶
| Опция | Тип | Умолчание | Когда читается |
|---|---|---|---|
binary |
строка | — | при setup() |
gui |
boolean | — | при setup() |
gui_focus_on_stop |
boolean | false |
при запуске процесса GUI |
auto_attach |
boolean | false |
при каждом setup() |
gui_theme |
строка | nil |
при запуске процесса GUI |
gui_width |
целое | nil |
при запуске процесса GUI |
gui_height |
целое | nil |
при запуске процесса GUI |
gui_layout |
таблица | nil |
при запуске процесса GUI |
gui_keymaps |
таблица | nil |
при запуске процесса GUI |
execution_line |
boolean | true |
при setup() |
execution_line_hl |
строка | CursorLine |
при setup() |
gui_theme, gui_width, gui_height и gui_layout применяются, только если секция [ui] проекта на эту
тему промолчала.
gui_keymaps принимает continue, step_into, step_over, step_out,
pause, terminate, restart; значение vim.NIL отключает привязку.
Lua API¶
local bugsaur = require("bugsaur")
bugsaur.list(opts) -- записи; opts.root или opts.path сужают выборку
bugsaur.set(path, line, cond) -- поставить или заменить условие; true, если набор изменился
bugsaur.remove(path, line) -- снять одну; true, если было что снимать
bugsaur.remove_file(path) -- снять все в файле; сколько снято
bugsaur.clear(opts) -- снять всё или всё в opts.root
Запись из list(), сортировка по пути, затем по строке:
{
path = "/abs/src/main.rs",
relative = "src/main.rs", -- nil, если вне любого корня
root = "/abs", -- nil там же
line = 42,
condition = nil,
state = "verified", -- "verified" | "rejected" | "pending"
}
Автокоманда¶
vim.api.nvim_create_autocmd("User", {
pattern = "BugsaurBreakpointsChanged",
callback = function(event)
-- event.data.paths — затронутые файлы
end,
})
Срабатывает на любое изменение набора точек: из этих функций, из
:ToggleBreakpoint и при чтении набора файла с диска.
Знаки и группы подсветки¶
| Знак | Что означает |
|---|---|
▶ |
запускаемый тест или тестовая группа; на подсвеченной строке — текущая позиция исполнения |
● |
точка останова подтверждена |
○ |
точка останова ожидает ответа |
⊗ |
точка останова отклонена |
| Группа | Умолчание |
|---|---|
BugsaurExecutionLine |
ссылка на CursorLine |
Пути¶
| Путь | Что это |
|---|---|
/tmp/rust-debugger-nvim-<pid>.sock |
сокет source frontend |
<корень>/.bugsaur/breakpoints.json |
сохранённый набор точек останова |
Не контракт¶
bugsaur.state — внутреннее состояние плагина. Полагаться на него нельзя: поля
вправе измениться.