feat(DAP): Add DAP configuration

- Inspired from https://www.youtube.com/watch?v=lyNfnI-B640
This commit is contained in:
2025-07-27 18:55:18 +02:00
parent f6fc4b0ef5
commit 291ab46489
2 changed files with 44 additions and 2 deletions

View File

@@ -64,8 +64,10 @@ vim.api.nvim_create_autocmd("LspAttach", {
require('which-key').add {
-- { "<leader>c", group = "[C]ode" },
-- { "<leader>c_", hidden = true },
{ "<leader>d", group = "[D]ocument / [D]iagnostic" },
{ "<leader>d", group = "[D]ocument / [D]iagnostic/ [D]ebug" },
{ "<leader>d_", hidden = true },
{ "<leader>ds", group = "[D]ebug [S]tep" },
{ "<leader>ds_", hidden = true },
{ "<leader>g", group = "[G]it" },
{ "<leader>g_", hidden = true },
{ "<leader>h", group = "Git [H]unk" },

View File

@@ -36,7 +36,47 @@ require('lazy').setup({
},
-- DAP: Debug Adapter Protocol
'mfussenegger/nvim-dap',
{
'mfussenegger/nvim-dap',
dependencies = {
'rcarriga/nvim-dap-ui',
'theHamsta/nvim-dap-virtual-text',
},
config = function()
local dap = require('dap');
local ui = require('dapui');
ui.setup();
require("nvim-dap-virtual-text").setup();
vim.keymap.set("n", "<Leader>b", dap.toggle_breakpoint, { desc = "Debug [B]reakpoint", silent = true });
vim.keymap.set("n", "<Leader>dr", dap.run_to_cursor, { desc = "[D]ebug [R]un to cursor" });
vim.keymap.set("n", "<Leader>de", function()
ui.eval(nil, { enter = true })
end, { desc = "[D]ebug [E]val under cursor", silent = true });
-- TODO: add some DAP configs to test
vim.keymap.set("n", "<Leader>dc", dap.continue , {desc="[D]ebug [C]ontinue", silent = true})
vim.keymap.set("n", "<Leader>dsi", dap.step_into , {desc="[D]ebug [S]tep [I]nto", silent = true})
vim.keymap.set("n", "<Leader>dso", dap.step_over , {desc="[D]ebug [S]tep [O]ver", silent = true})
vim.keymap.set("n", "<Leader>dsu", dap.step_out , {desc="[D]ebug [S]tep o[U]t", silent = true})
vim.keymap.set("n", "<Leader>dsb", dap.step_back , {desc="[D]ebug [S]tep [B]ack", silent = true})
vim.keymap.set("n", "<Leader>dr", dap.restart , {desc="[D]ebug [R]estart", silent = true})
dap.listeners.before.attach.dapui_config = function()
ui.open()
end
dap.listeners.before.launch.dapui_config = function()
ui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
ui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
ui.close()
end
end,
},
{
-- [[ Autocompletion ]]