return { -- Ensure Mason installs debug adapters { "mason-org/mason.nvim", opts = { ensure_installed = { "delve", -- Go debugger "debugpy", -- Python debugger "js-debug-adapter", -- JS/TS debugger }, }, }, -- Mason DAP bridge - auto-configures adapters { "jay-babu/mason-nvim-dap.nvim", dependencies = { "mason-org/mason.nvim", "mfussenegger/nvim-dap" }, opts = { ensure_installed = { "delve", "debugpy", "js" }, automatic_installation = true, handlers = {}, }, }, { "mfussenegger/nvim-dap", dependencies = { "jay-babu/mason-nvim-dap.nvim", { "leoluz/nvim-dap-go", opts = {}, }, { "mfussenegger/nvim-dap-python", config = function() local mason_path = vim.fn.stdpath("data") .. "/mason/packages/debugpy/venv/bin/python" require("dap-python").setup(mason_path) end, }, }, }, { "rcarriga/nvim-dap-ui", dependencies = { "nvim-neotest/nvim-nio" }, keys = { { "du", function() require("dapui").toggle() end, desc = "DAP UI", }, { "de", function() require("dapui").eval() end, desc = "Eval", mode = { "n", "v" }, }, }, opts = {}, }, }