diff options
| author | Ibrahim Muftee <ibrahim@muftee.net> | 2025-06-24 11:26:15 -0500 |
|---|---|---|
| committer | Ibrahim Muftee <ibrahim@muftee.net> | 2026-07-01 00:23:31 -0400 |
| commit | 7d759edf68303c7681a6521fbc3675661204cd4f (patch) | |
| tree | e8466125f1698855375a8db3b5bedaff2a3c5d3f /dot_config/nvim/lua/ibrahim/plugins/dap.lua | |
| parent | c5b4ef95882e57fffe50c85442f6086de24e9c83 (diff) | |
feat(nvim): replace old config with new one
Diffstat (limited to 'dot_config/nvim/lua/ibrahim/plugins/dap.lua')
| -rw-r--r-- | dot_config/nvim/lua/ibrahim/plugins/dap.lua | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/dot_config/nvim/lua/ibrahim/plugins/dap.lua b/dot_config/nvim/lua/ibrahim/plugins/dap.lua new file mode 100644 index 0000000..4e1df62 --- /dev/null +++ b/dot_config/nvim/lua/ibrahim/plugins/dap.lua @@ -0,0 +1,94 @@ +return { + { + "mfussenegger/nvim-dap", + dependencies = { + "leoluz/nvim-dap-go", + "rcarriga/nvim-dap-ui", + "theHamsta/nvim-dap-virtual-text", + "nvim-neotest/nvim-nio", + "williamboman/mason.nvim", + }, + config = function() + local dap = require "dap" + local ui = require "dapui" + + require("dapui").setup() + -- require("dap-go").setup() + + -- require("nvim-dap-virtual-text").setup { + -- -- This just tries to mitigate the chance that I leak tokens here. Probably won't stop it from happening... + -- display_callback = function(variable) + -- local name = string.lower(variable.name) + -- local value = string.lower(variable.value) + -- if name:match "secret" or name:match "api" or value:match "secret" or value:match "api" then + -- return "*****" + -- end + -- + -- if #variable.value > 15 then + -- return " " .. string.sub(variable.value, 1, 15) .. "... " + -- end + -- + -- return " " .. variable.value + -- end, + -- } + + -- 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", "<space>b", dap.toggle_breakpoint) + vim.keymap.set("n", "<space>gb", dap.run_to_cursor) + + -- Eval var under cursor + vim.keymap.set("n", "<space>?", function() + require("dapui").eval(nil, { enter = true }) + end) + + vim.keymap.set("n", "<F1>", dap.continue) + vim.keymap.set("n", "<F2>", dap.step_into) + vim.keymap.set("n", "<F3>", dap.step_over) + vim.keymap.set("n", "<F4>", dap.step_out) + vim.keymap.set("n", "<F5>", dap.step_back) + vim.keymap.set("n", "<F13>", 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, + }, +} |
