return { { import = "lazyvim.plugins.extras.dap.core" }, { "mfussenegger/nvim-dap", opts = { defaults = { fallback = { external_terminal = { command = "/usr/bin/kitty", args = { "--class", "kitty-dap", "--hold", "--detach", "nvim-dap", "-c", "DAP" }, }, }, }, }, -- stylua: ignore keys = { { "", function() require("dap").continue() end, desc = "Debug: Continue" }, { "", function() require("dap").step_over() end, desc = "Debug: Step over" }, { "", function() require("dap").step_into() end, desc = "Debug: Step into" }, { "", function() require("dap").step_out() end, desc = "Debug: Step out" }, { "", function() require("dap").toggle_breakpoint() end, desc = "Debug: Toggle breakpoint" }, { "", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" }, }, }, { "nvim-neotest/neotest", optional = true, -- stylua: ignore keys = { { "tL", function() require("neotest").run.run_last({ strategy = "dap" }) end, desc = "Debug Last Test" }, }, }, }