2026-04-19 15:35:21 +02:00

57 lines
1.5 KiB
Lua

return {
"mfussenegger/nvim-dap",
dependencies = {
"williamboman/mason.nvim",
"jay-babu/mason-nvim-dap.nvim",
"rcarriga/nvim-dap-ui",
"theHamsta/nvim-dap-virtual-text",
"nvim-neotest/nvim-nio",
},
config = function()
local dap = require("dap")
local dapui = require("dapui")
dapui.setup()
require("nvim-dap-virtual-text").setup({})
local map = function(keys, func, desc)
vim.keymap.set("n", keys, func, { desc = "DAP: " .. desc })
end
map("<leader>db", dap.toggle_breakpoint, "Toggle [B]reakpoint")
map("<leader>dc", dap.continue, "[C]ontinue")
map("<leader>di", dap.step_into, "Step [I]nto")
map("<leader>do", dap.step_over, "Step [O]ver")
map("<leader>dO", dap.step_out, "Step [O]ut")
map("<leader>dr", dap.repl.open, "Open [R]EPL")
map("<leader>dt", dap.terminate, "[T]erminate")
map("<leader>du", dapui.toggle, "Toggle [U]I")
local debuggers = {
delve = {},
}
local ensure_installed = vim.tbl_keys(debuggers)
require("mason-nvim-dap").setup({
ensure_installed = ensure_installed,
automatic_installation = true,
handlers = {
function(config)
require("mason-nvim-dap").default_setup(config)
end,
},
})
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end,
}