summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/dap.lua
diff options
context:
space:
mode:
authorSakamoto <me@sakamoto.network>2026-05-12 18:31:15 -0500
committerSakamoto <me@sakamoto.network>2026-05-12 18:31:15 -0500
commita623fed63460d6d810605ce1ce858a58a5b222f7 (patch)
tree2129e72acc82deaf624630ec271942000eae0aeb /dot_config/nvim/lua/plugins/dap.lua
downloaddotfiles-a623fed63460d6d810605ce1ce858a58a5b222f7.tar.xz
dotfiles-a623fed63460d6d810605ce1ce858a58a5b222f7.zip
init
Diffstat (limited to 'dot_config/nvim/lua/plugins/dap.lua')
-rw-r--r--dot_config/nvim/lua/plugins/dap.lua150
1 files changed, 150 insertions, 0 deletions
diff --git a/dot_config/nvim/lua/plugins/dap.lua b/dot_config/nvim/lua/plugins/dap.lua
new file mode 100644
index 0000000..0299847
--- /dev/null
+++ b/dot_config/nvim/lua/plugins/dap.lua
@@ -0,0 +1,150 @@
+return {
+ -- "rcarriga/nvim-dap-ui",
+ "igorlfs/nvim-dap-view",
+ dependencies = {
+ "mfussenegger/nvim-dap",
+ "nvim-neotest/nvim-nio",
+ { "theHamsta/nvim-dap-virtual-text", opts = {} },
+ },
+ keys = {
+ {
+ "<leader>dB",
+ function()
+ require("dap").set_breakpoint(vim.fn.input("Breakpoint condition: "))
+ end,
+ desc = "Breakpoint Condition",
+ },
+ {
+ "<leader>db",
+ function()
+ require("dap").toggle_breakpoint()
+ end,
+ desc = "Toggle Breakpoint",
+ },
+ {
+ "<leader>dc",
+ function()
+ require("dap").continue()
+ end,
+ desc = "Run/Continue",
+ },
+ {
+ "<leader>da",
+ function()
+ require("dap").continue({ before = get_args })
+ end,
+ desc = "Run with Args",
+ },
+ {
+ "<leader>dC",
+ function()
+ require("dap").run_to_cursor()
+ end,
+ desc = "Run to Cursor",
+ },
+ {
+ "<leader>dg",
+ function()
+ require("dap").goto_()
+ end,
+ desc = "Go to Line (No Execute)",
+ },
+ {
+ "<leader>di",
+ function()
+ require("dap").step_into()
+ end,
+ desc = "Step Into",
+ },
+ {
+ "<leader>dj",
+ function()
+ require("dap").down()
+ end,
+ desc = "Down",
+ },
+ {
+ "<leader>dk",
+ function()
+ require("dap").up()
+ end,
+ desc = "Up",
+ },
+ {
+ "<leader>dl",
+ function()
+ require("dap").run_last()
+ end,
+ desc = "Run Last",
+ },
+ {
+ "<leader>do",
+ function()
+ require("dap").step_out()
+ end,
+ desc = "Step Out",
+ },
+ {
+ "<leader>dO",
+ function()
+ require("dap").step_over()
+ end,
+ desc = "Step Over",
+ },
+ {
+ "<leader>dP",
+ function()
+ require("dap").pause()
+ end,
+ desc = "Pause",
+ },
+ {
+ "<leader>dr",
+ function()
+ require("dap").repl.toggle()
+ end,
+ desc = "Toggle REPL",
+ },
+ {
+ "<leader>ds",
+ function()
+ require("dap").session()
+ end,
+ desc = "Session",
+ },
+ {
+ "<leader>dt",
+ function()
+ require("dap").terminate()
+ end,
+ desc = "Terminate",
+ },
+ {
+ "<leader>dw",
+ function()
+ require("dap.ui.widgets").hover()
+ end,
+ desc = "Widgets",
+ },
+ },
+ config = function()
+ local dap = require("dap")
+ -- local dapui = require("dapui")
+ local dapui = require("dap-view")
+
+ 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
+ end,
+}