From 98210ed81daf3b8a86f83d91354ae594ab9e539d Mon Sep 17 00:00:00 2001 From: vx_clutch <98831688+vx-clutch@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:36:12 -0500 Subject: [PATCH] Update dap.lua --- nvim/.config/nvim/lua/vxclutch/lazy/dap.lua | 76 +++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/nvim/.config/nvim/lua/vxclutch/lazy/dap.lua b/nvim/.config/nvim/lua/vxclutch/lazy/dap.lua index e69de29..5edf159 100644 --- a/nvim/.config/nvim/lua/vxclutch/lazy/dap.lua +++ b/nvim/.config/nvim/lua/vxclutch/lazy/dap.lua @@ -0,0 +1,76 @@ +return { + { + "mfussenegger/nvim-dap", + dependencies = { + "leoluz/nvim-dap-go", + "rcarriga/nvim-dap-ui", + "nvim-neotest/nvim-nio", + "williamboman/mason.nvim", + }, + config = function() + local dap = require "dap" + local ui = require "dapui" + + require("dapui").setup() + require("dap-go").setup() + + -- Handled by nvim-dap-go + -- dap.adapters.go = { + -- type = "server", + -- port = "${port}", + -- executable = { + -- command = "dlv", + -- args = { "dap", "-l", "127.0.0.1:${port}" }, + -- }, + -- } + + local elixir_ls_debugger = vim.fn.exepath "elixir-ls-debugger" + if elixir_ls_debugger ~= "" then + dap.adapters.mix_task = { + type = "executable", + command = elixir_ls_debugger, + } + + dap.configurations.elixir = { + { + type = "mix_task", + name = "phoenix server", + task = "phx.server", + request = "launch", + projectDir = "${workspaceFolder}", + exitAfterTaskReturns = false, + debugAutoInterpretAllModules = false, + }, + } + end + + vim.keymap.set("n", "b", dap.toggle_breakpoint) + vim.keymap.set("n", "gb", dap.run_to_cursor) + + -- Eval var under cursor + vim.keymap.set("n", "?", function() + require("dapui").eval(nil, { enter = true }) + end) + + vim.keymap.set("n", "dc", dap.continue) + vim.keymap.set("n", "s", dap.step_into) + vim.keymap.set("n", "n", dap.step_over) + vim.keymap.set("n", "so", dap.step_out) + vim.keymap.set("n", "sb", dap.step_back) + vim.keymap.set("n", "dr", dap.restart) + + 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, + }, +}