return { { "nvim-neotest/neotest", dependencies = { "nvim-neotest/nvim-nio", "nvim-lua/plenary.nvim", "antoinemadec/FixCursorHold.nvim", "nvim-treesitter/nvim-treesitter", }, config = function() require("neotest").setup({ adapters = { require("neotest-python"), require("rustaceanvim.neotest"), }, }) vim.keymap.set({ "n", "v" }, "t", "", { desc = "+testing" }) vim.keymap.set({ "n", "v" }, "tt", function() require("neotest").run.run(vim.fn.expand("%")) end, { desc = "run file" }) vim.keymap.set({ "n", "v" }, "tT", function() require("neotest").run.run(vim.uv.cwd()) end, { desc = "run all test files" }) vim.keymap.set({ "n", "v" }, "tr", function() require("neotest").run.run() end, { desc = "run nearest" }) vim.keymap.set({ "n", "v" }, "tl", function() require("neotest").run.run_last() end, { desc = "run last" }) vim.keymap.set({ "n", "v" }, "ts", function() require("neotest").summary.toggle() end, { desc = "toggle summary" }) vim.keymap.set({ "n", "v" }, "to", function() require("neotest").output.open({ enter = true, auto_close = true }) end, { desc = "show output" }) vim.keymap.set({ "n", "v" }, "to", function() require("neotest").output_panel.toggle() end, { desc = "toggle output panel" }) vim.keymap.set({ "n", "v" }, "ts", function() require("neotest").run.stop() end, { desc = "stop" }) vim.keymap.set({ "n", "v" }, "tw", function() require("neotest").watch.toggle(vim.fn.expand("%")) end, { desc = "toggle watch" }) end, }, { "nvim-neotest/neotest-python", }, { "mrcjkb/rustaceanvim", version = "^5", lazy = false, }, }