Перейти к содержанию

Справочник по CLI

bugsaur init [<path>]
bugsaur run --project <path> [--profile <name>] [--break <file:line>] [--test-at <file:line>]
bugsaur serve --socket <path> [--project <path> [--profile <name>] [--break <file:line>]]
bugsaur gui [--socket <path>] [--control-socket <path>] [--gui-keymaps <json>] [--focus-on-stop]
            [--theme dark|light|system] [--layout <json>]
            --project <path> [--profile <name>] [--break <file:line> ...] [--test-at <file:line>]

Запустите bugsaur без аргументов, чтобы напечатать эту справку; код возврата 2.


bugsaur init

Создать .bugsaur/config.toml для проекта, ничего не запуская.

bugsaur init [<path>]
Аргумент Описание
<path> каталог проекта; текущий, если опущен

Язык опознаётся по файлу-маркеру — Cargo.toml, go.mod, composer.json, pyproject.toml / setup.py / requirements.txt, — и на каждую запускаемую точку входа пишется профиль. Если язык не опознан, команда завершается ошибкой и называет каталог.

bugsaur init
bugsaur init /path/to/project

bugsaur run

Запустить сессию отладки без открытия окна.

bugsaur run --project <path> [--profile <name>] [--break <file:line>] [--test-at <file:line>]
Опция Описание
--project <path> любой каталог внутри проекта
--profile <name> какой профиль брать; без него default
--break <file:line> точка останова; заменяет сохранённый набор целиком
--test-at <file:line> отлаживать тест в этом месте вместо программы профиля

bugsaur serve

Поднять бэкенд и принимать source frontend на сокете, без окна.

bugsaur serve --socket <path> [--project <path> [--profile <name>] [--break <file:line>]]
Опция Описание
--socket <path> Unix-сокет для source frontend. Обязателен
--project <path> каталог проекта
--profile <name> какой профиль брать
--break <file:line> точка останова

--test-at здесь не поддерживается

Отладка теста под курсором работает с run и gui, но не с serve.


bugsaur gui

Открыть окно отладчика. Именно этот режим запускает за вас плагин Neovim при gui = true.

bugsaur gui [--socket <path>] [--control-socket <path>] [--gui-keymaps <json>] [--focus-on-stop]
            [--theme dark|light|system] [--layout <json>]
            --project <path> [--profile <name>] [--break <file:line> ...] [--test-at <file:line>]

Опции проекта

Опция Описание
--project <path> любой каталог внутри проекта
--profile <name> какой профиль брать; без него default
--break <file:line> точка останова; можно повторять. Заменяет сохранённый набор целиком
--test-at <file:line> отлаживать тест в этом месте вместо программы профиля

Опции окна

Опция Описание
--theme dark\|light\|system тема окна
--layout <json> раскладка панелей; те же ключи, что и у [ui.layout]
--width <px> начальная ширина окна в логических пикселях
--height <px> начальная высота окна в логических пикселях
--gui-keymaps <json> хоткеи окна, действие → аккорд
--focus-on-stop выводить окно вперёд на каждой остановке

Проект выигрывает у этих флагов

--theme, --layout, --width и --height — это предложение редактора. Они применяются, только если секция [ui] проекта на эту тему промолчала. См. Настройка → Интерфейс.

Опции сокетов

Опция Описание
--socket <path> сокет для source frontend
--control-socket <path> управляющий сокет

Опции, общие для run, serve и gui

Запуск без конфига проекта

Вместо --project можно назвать всё явно:

Опция Описание
--adapter <id> id адаптера из каталога
--program <path> что отлаживать
--cwd <path> рабочий каталог
--launch-arguments <json> тело DAP-запроса в виде JSON
bugsaur gui --adapter codelldb --program ./build/app --break ./src/main.c:20

Каталог адаптеров

Опция Описание
--adapters <path> файл каталога вместо стандартных мест

Правила, которые стоит знать

Конфигурация берётся из <корень>/.bugsaur/config.toml и создаётся автоматически, если её нет, а язык проекта опознан.

Без --break берётся набор из <корень>/.bugsaur/breakpoints.json, сохранённый редактором. Явный --break перебивает его целиком.

--test-at взаимоисключает --program. Работает в run и gui, но не в serve. Точки останова при нём ведут себя так же.

Без --cwd рабочим каталогом становится корень проекта, а при ручном запуске без проекта — текущий каталог.