From d5e2510c8648525aaa3e8ddc70ac8ee22ce30e3d Mon Sep 17 00:00:00 2001 From: "Gustavo L de Mello (Guz)" Date: Fri, 6 Dec 2024 20:21:17 -0300 Subject: [PATCH] feat: dap debugger --- lua/dot013/plugins/debugger.lua | 41 +++++++++++++++++++++++++++++++++ lua/dot013/plugins/init.lua | 1 + neovim.nix | 3 +++ 3 files changed, 45 insertions(+) create mode 100644 lua/dot013/plugins/debugger.lua diff --git a/lua/dot013/plugins/debugger.lua b/lua/dot013/plugins/debugger.lua new file mode 100644 index 0000000..814f1e0 --- /dev/null +++ b/lua/dot013/plugins/debugger.lua @@ -0,0 +1,41 @@ +return { + { + "nvim-dap", + keys = { + { "b", ":lua require('dap').toggle_breakpoint()", "[Debugger] Toggle breakpoint" }, + { "x", ":lua require('dap').continue()", "[Debugger] Continue debugger" }, + { "X", ":lua require('dap').terminate()", "[Debugger] Terminate debugger" }, + { "C", ":lua require('dap').clear_breakpoints()", "[Debugger] Clear all breakpoints" }, + }, + after = function() + local dap = require("dap") + local dapui = require("dapui") + + 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 + end, + }, + { + "nvim-dap-ui", + dap_of = { "nvim-dap" }, + keys = { + { "xu", ":lua require('dapui').toggle()", "[Debugger] Toggle debugger UI" }, + { + "K", + ":lua require('dapui').eval(nil, { enter = true })", + "[Debugger] Eval var under cursor", + }, + }, + }, + { "nvim-dap-virtual-text", dep_of = { "nvim-dap" } }, +} diff --git a/lua/dot013/plugins/init.lua b/lua/dot013/plugins/init.lua index d4bdea0..f44c1a8 100644 --- a/lua/dot013/plugins/init.lua +++ b/lua/dot013/plugins/init.lua @@ -1,5 +1,6 @@ return { { import = "dot013.plugins.appearance" }, + { import = "dot013.plugins.debugger" }, { import = "dot013.plugins.lsp" }, { import = "dot013.plugins.navigation" }, { import = "dot013.plugins.treesitter" }, diff --git a/neovim.nix b/neovim.nix index b23836a..23d92c4 100644 --- a/neovim.nix +++ b/neovim.nix @@ -27,6 +27,9 @@ harpoon2 lualine-nvim marks-nvim + nvim-dap + nvim-dap-ui + nvim-dap-virtual-text nvim-web-devicons telescope-nvim telescope-fzf-native-nvim