Dap support

This commit is contained in:
mathijs-bakker
2025-08-21 10:21:27 +02:00
parent b22f882b68
commit 3994ae2237
6 changed files with 96 additions and 21 deletions

View File

@@ -1,6 +1,6 @@
local M = {}
function M.attach(bufnr)
function M.attach_lsp(bufnr)
local opts = { buffer = bufnr }
local has_telescope, telescope_builtin = pcall(require, "telescope.builtin")
@@ -57,4 +57,26 @@ function M.attach(bufnr)
map("n", "]d", vim.diagnostic.goto_next, "LSP: Next diagnostic")
end
function M.attach_dap()
local dap = require("dap")
local dapui = require("dapui")
local function map(mode, lhs, rhs, desc)
vim.keymap.set(mode, lhs, rhs, { desc = desc })
end
-- Basic debugger controls
map("n", "<F5>", dap.continue, "DAP: Continue/Start")
map("n", "<F10>", dap.step_over, "DAP: Step over")
map("n", "<F11>", dap.step_into, "DAP: Step into")
map("n", "<F12>", dap.step_out, "DAP: Step out")
map("n", "<leader>db", dap.toggle_breakpoint, "DAP: Toggle breakpoint")
map("n", "<leader>dB", function()
dap.set_breakpoint(vim.fn.input("Breakpoint condition: "))
end, "DAP: Conditional breakpoint")
-- UI
map("n", "<leader>du", dapui.toggle, "DAP: Toggle UI")
map("n", "<leader>dr", dap.repl.open, "DAP: Open REPL")
end
return M