return { { name = "nvim-dap", dir = "@nvim_dap@", event = "VeryLazy", config = function() vim.api.nvim_set_keymap("n", "", ":DapContinue", { silent = true }) vim.api.nvim_set_keymap("n", "", ":DapStepOver", { silent = true }) vim.api.nvim_set_keymap("n", "", ":DapStepInto", { silent = true }) vim.api.nvim_set_keymap("n", "", ":DapStepOut", { silent = true }) vim.api.nvim_set_keymap("n", "b", ":DapToggleBreakpoint", { silent = true }) vim.api.nvim_set_keymap( "n", "B", ':lua require("dap").set_breakpoint(nil, nil, vim.fn.input("Breakpoint condition: "))', { silent = true } ) vim.api.nvim_set_keymap( "n", "lp", ':lua require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))', { silent = true } ) vim.api.nvim_set_keymap("n", "dr", ':lua require("dap").repl.open()', { silent = true }) vim.api.nvim_set_keymap("n", "dl", ':lua require("dap").run_last()', { silent = true }) end, }, { name = "nvim-dap-ui", dir = "@nvim_dap_ui@", dependencies = { { name = "nvim-dap", dir = "@nvim_dap@" }, { name = "nvim-nio", dir = "@nvim_nio@" } }, event = "VeryLazy", config = function() require("dapui").setup() local dap, dapui = require("dap"), require("dapui") dap.listeners.after.event_initialized["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, }, { name = "nvim-dap-virtual-text", dir = "@nvim_dap_virtual_text@", dependencies = { { name = "nvim-dap", dir = "@nvim_dap@" }, { name = "nvim-treesitter", dir = "@nvim_treesitter@" }, }, event = "VeryLazy", config = true, }, { name = "nvim-dap-python", dir = "@nvim_dap_python@", dependencies = { { name = "nvim-dap", dir = "@nvim_dap@" }, { name = "nvim-treesitter", dir = "@nvim_treesitter@" }, }, ft = "python", config = function() local dap_python = require("dap-python") dap_python.setup("python") dap_python.test_runner = "pytest" vim.api.nvim_set_keymap( "n", "dn", ':lua require("dap-python").test_method()', { silent = true } ) vim.api.nvim_set_keymap("n", "df", ':lua require("dap-python").test_class()', { silent = true }) vim.api.nvim_set_keymap( "n", "ds", ':lua require("dap-python").debug_selection()', { silent = true } ) end, }, }