return { { name = "nvim-dap", dir = "@nvim_dap@", event = "VeryLazy", config = function() vim.api.nvim_set_keymap("n", "<F5>", ":DapContinue<CR>", { silent = true }) vim.api.nvim_set_keymap("n", "<F10>", ":DapStepOver<CR>", { silent = true }) vim.api.nvim_set_keymap("n", "<F11>", ":DapStepInto<CR>", { silent = true }) vim.api.nvim_set_keymap("n", "<F12>", ":DapStepOut<CR>", { silent = true }) vim.api.nvim_set_keymap("n", "<leader>b", ":DapToggleBreakpoint<CR>", { silent = true }) vim.api.nvim_set_keymap( "n", "<leader>B", ':lua require("dap").set_breakpoint(nil, nil, vim.fn.input("Breakpoint condition: "))<CR>', { silent = true } ) vim.api.nvim_set_keymap( "n", "<leader>lp", ':lua require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))<CR>', { silent = true } ) vim.api.nvim_set_keymap("n", "<leader>dr", ':lua require("dap").repl.open()<CR>', { silent = true }) vim.api.nvim_set_keymap("n", "<leader>dl", ':lua require("dap").run_last()<CR>', { 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", "<Leader>dn", ':lua require("dap-python").test_method()<CR>', { silent = true } ) vim.api.nvim_set_keymap("n", "<Leader>df", ':lua require("dap-python").test_class()<CR>', { silent = true }) vim.api.nvim_set_keymap( "n", "<Leader>ds", '<Esc>:lua require("dap-python").debug_selection()<CR>', { silent = true } ) end, }, }