bsl-dap-rs — Rust-проект DAP-адаптера для отладки 1C через rdbg.
Адаптер принимает Debug Adapter Protocol сессию по stdio, управляет debug-сессией 1C через HTTP/XML API rdbg и транслирует runtime-события 1C в DAP events для IDE.
Workspace состоит из модулей:
crates/dap-core— DAP framing и async I/O.crates/dap-types— DAP типы, capabilities и custom-команды.crates/bsl-rdbg-client— клиентrdbgAPI.crates/adapter-domain— domain-модель состояния отладки (config, breakpoints, stopping, targets).bin/bsl-dap-rs— исполняемый DAP runtime.
- Обработка базового DAP сценария:
initialize -> launch/attach -> breakpoints -> step -> evaluate -> disconnect.
- Поддержка listener pipeline (
pingDebugUIParams) с трансляцией в DAP:thread,stopped,continued,output,terminated.
- Process orchestration для файловой базы.
- Custom-команды для zed-extension:
DebugTargetsRequestAttachDebugTargetRequestSetAutoAttachTargetTypesRequest
Требования:
- Rust toolchain (минимум
rust-version = 1.86). - Доступная платформа 1C и
rdbg(для реальной debug-сессии).
Запуск адаптера:
cargo run -p bsl-dap-rsbsl-dap-rs работает как stdio-сервис для IDE и не предполагает интерактивный CLI.