From a9a59ec26089644bf1c7b41b4e27e87bdc0e04db Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Fri, 12 Dec 2025 10:34:25 -0300 Subject: [PATCH] feat(debugger,keymaps): dap and dapui debugging configuration --- lua/dot/debugger.lua | 18 ++++++++++++++++++ lua/dot/keymaps.lua | 14 ++++++++++++++ lua/dot/plugins.lua | 11 +++++++++++ 3 files changed, 43 insertions(+) create mode 100644 lua/dot/debugger.lua diff --git a/lua/dot/debugger.lua b/lua/dot/debugger.lua new file mode 100644 index 0000000..5d4ddc9 --- /dev/null +++ b/lua/dot/debugger.lua @@ -0,0 +1,18 @@ +local dap = require("dap") +local dapui = require("dapui") + +dapui.setup() + +dap.listeners.before.attach.dapui_config = function() + dapui.open() +end +dap.listeners.before.launch.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 + diff --git a/lua/dot/keymaps.lua b/lua/dot/keymaps.lua index 7460cbd..4888916 100644 --- a/lua/dot/keymaps.lua +++ b/lua/dot/keymaps.lua @@ -46,3 +46,17 @@ vim.api.nvim_create_autocmd("LspAttach", { end, group = vim.api.nvim_create_augroup("dot-lsp-attach-keymaps", { clear = true }), }) + +-- Debugger +vim.keymap.set("n", "b", ":lua require('dap').toggle_breakpoint()", { + desc = "Debugger: Toggle [B]reakpointn", +}) +vim.keymap.set("n", "x", ":lua require('dap').continue()", { desc = "Debugger: Continue debugger" }) +vim.keymap.set("n", "X", ":lua require('dap').terminate()", { desc = "Debugger: Terminate debugger" }) +vim.keymap.set("n", "C", ":lua require('dap').clear_breakpoints()", { + desc = "Debugger: Clear all breakpoints", +}) +vim.keymap.set("n", "xu", ":lua require('dapui').toggle()", { desc = "Debugger: Toggle debugger [U]I" }) +vim.keymap.set("n", "K", ":lua require('dapui').eval(nil, { enter=true })", { + desc = "Debugger: Toggle debugger [U]I", +}) diff --git a/lua/dot/plugins.lua b/lua/dot/plugins.lua index 28587bd..051fd26 100644 --- a/lua/dot/plugins.lua +++ b/lua/dot/plugins.lua @@ -21,6 +21,17 @@ lze.load({ { "lazydev.nvim", on_require = "lazydev" }, { import = "dot.lsp" }, + -- Debugger + { + "nvim-dap", + after = function() + require("dot.debugger") + end, + on_require = { "dap", "dapui" }, + }, + { "nvim-dap-ui", dep_of = "nvim-dap" }, + { "nvim-nio", dep_of = "nvim-dap-ui" }, + -- Formatting { "conform.nvim",