From f0c2af396e52e2e00ff2922b05cf284cbaf2c57a Mon Sep 17 00:00:00 2001 From: Donovan Date: Thu, 1 May 2025 08:34:19 -0500 Subject: [PATCH] add python dap --- lua/dkelly/plugins/dap.lua | 73 ++++++++------------------------------ 1 file changed, 15 insertions(+), 58 deletions(-) diff --git a/lua/dkelly/plugins/dap.lua b/lua/dkelly/plugins/dap.lua index 704b305..a0a8819 100644 --- a/lua/dkelly/plugins/dap.lua +++ b/lua/dkelly/plugins/dap.lua @@ -4,6 +4,7 @@ return { dependencies = { "leoluz/nvim-dap-go", "rcarriga/nvim-dap-ui", + "mfussenegger/nvim-dap-python", "theHamsta/nvim-dap-virtual-text", "nvim-neotest/nvim-nio", "williamboman/mason.nvim", @@ -14,68 +15,24 @@ return { require("dapui").setup() require("dap-go").setup() + require("dap-python").setup("python") + require("nvim-dap-virtual-text").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", "bb", dap.toggle_breakpoint) - -- vim.keymap.set("n", "gb", dap.run_to_cursor) - - -- Eval var under cursor + vim.keymap.set("n", "bb", dap.toggle_breakpoint, { desc = "Toggle breakpoint" }) vim.keymap.set("n", "be", function() require("dapui").eval(nil, { enter = true }) - end) + end, { desc = "Evaluate variable under cursor" }) + vim.keymap.set("n", "bq", function() + require("dap").terminate() + require("dapui").close() + end, { desc = "Quit DAP" }) - vim.keymap.set("n", "", dap.continue) - vim.keymap.set("n", "", dap.step_into) - vim.keymap.set("n", "", dap.step_over) - vim.keymap.set("n", "", dap.step_out) - vim.keymap.set("n", "", dap.step_back) - vim.keymap.set("n", "", dap.restart) + vim.keymap.set("n", "b1", dap.continue, { desc = "Continue" }) + vim.keymap.set("n", "b2", dap.step_into, { desc = "Step into" }) + vim.keymap.set("n", "b3", dap.step_over, { desc = "Step over" }) + vim.keymap.set("n", "b4", dap.step_out, { desc = "Step out" }) + vim.keymap.set("n", "b5", dap.step_back, { desc = "Step back" }) + vim.keymap.set("n", "b6", dap.restart, { desc = "Restart" }) dap.listeners.before.attach.dapui_config = function() ui.open()