/
evo
/
nvim
Обзор
Документация
Войти
/
evo
/
nvim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lua/configs/nvim-dap.lua
83 строки
2 KB
evo
Added mason-nvim-dap + nvim dap-ui
02 мар 2026, 14:31
Верифицирован
02 мар 2026, 14:31
b088ba5
Код
Авторство
О чём код?
-- DAP: mason-nvim-dap (автоустановка адаптеров), nvim-dap-ui local dap = require("dap") local dapui = require("dapui") -- Путь к codelldb: стандартное место установки Mason (без вызова API пакета) local function get_codelldb_adapter_path() local sep = vim.fn.has("win32") == 1 and "\\" or "/" local install_path = vim.fn.stdpath("data") .. sep .. "mason" .. sep .. "packages" .. sep .. "codelldb" local adapter_path = install_path .. sep .. "extension" .. sep .. "adapter" .. sep .. (vim.fn.has("win32") == 1 and "codelldb.exe" or "codelldb") return adapter_path end local function setup_codelldb_adapter() local adapter_path = get_codelldb_adapter_path() if vim.fn.filereadable(adapter_path) ~= 1 then return false end dap.adapters.codelldb = { type = "server", port = "${port}", host = "127.0.0.1", executable = { command = adapter_path, args = { "--port", "${port}" }, detached = vim.fn.has("win32") ~= 1, }, } return true end require("mason-nvim-dap").setup({ ensure_installed = { "codelldb" }, automatic_installation = true, handlers = { codelldb = function(config) if not setup_codelldb_adapter() then return end config.adapters = config.adapters or {} config.adapters.codelldb = dap.adapters.codelldb end, }, }) -- На случай если codelldb поставился позже — регистрируем адаптер при первом запуске vim.schedule(function() if dap.adapters.codelldb then return end setup_codelldb_adapter() end) -- DAP UI: автооткрытие при старте отладки dapui.setup({ layouts = { { elements = { { id = "scopes", size = 0.25 }, { id = "breakpoints", size = 0.25 }, { id = "stacks", size = 0.25 }, { id = "watches", size = 0.25 }, }, size = 40, position = "right", }, { elements = { { id = "repl", size = 0.5 }, { id = "console", size = 0.5 }, }, size = 0.25, position = "bottom", }, }, }) dap.listeners.before.attach["dapui_config"] = function() dapui.open() end dap.listeners.before.launch["dapui_config"] = function() dapui.open() end dap.listeners.after.event_terminated["dapui_config"] = function() dapui.close() end dap.listeners.after.event_exited["dapui_config"] = function() dapui.close() end