Neovim¶
Bugsaur интегрируется с Neovim, но отношения здесь не обычные.
Bugsaur работает сам по себе. Neovim — интеграция, а не владелец.
Отладчик — единственный DAP-клиент и хозяин состояния сессии. Neovim правит код, ходит по исходникам и заведует точками останова. Закройте Neovim — сессия продолжит работать; подключитесь заново — он подхватит текущее состояние.
Поэтому setup() плагина несёт только настройки редактора и окна. Адаптеры,
программы и launch-аргументы живут в .bugsaur/config.toml проекта, так что один
setup() обслуживает сколько угодно проектов на любых языках: Rust, Go и PHP
различаются своими конфигами, а не ветвлением в конфигурации редактора.
Что даёт интеграция¶
| Запуск сессий | :DebugStart, :DebugTest прямо от курсора |
| Работа с точками останова | :ToggleBreakpoint, знаки в поле у номеров строк, условия |
| Навигация по исходникам | на каждой остановке открывается файл в месте остановки |
| Маркер исполнения | ▶ и подсветка строки, на которой стоит исполнение |
| Управление выполнением | :DebugContinue, команды шага, :DebugStop |
| Управление окном | :DebugFocus и опции поведения окна |
Этот раздел¶
- Установка — подключить плагин к своему конфигу.
- Быстрый старт — первая сессия из редактора.
- Команды — все команды и что они делают.
- Клавиши — стандартные mappings и хоткеи самого окна.
- Синхронизация точек останова — как набор становится общим.
- Как устроена интеграция — сокеты, протокол, жизненный цикл.