return {
- {
- "nvim-neotest/neotest",
+ { "nvim-neotest/neotest",
+ dependencies = { "nvim-neotest/nvim-nio" },
opts = {
+ adapters = {},
status = { virtual_text = true },
output = { open_on_run = true },
quickfix = {
open = function()
+ -- TODO: review if I'd prefer to just use quickfix here
+ -- vim.cmd("copen")
require("trouble").open({ mode = "quickfix", focus = false })
end,
},
return {}
end
+ -- NOTE: support setting up test adapters in lang
if opts.adapters then
local adapters = {}
for name, config in pairs(opts.adapters or {}) do
local meta = getmetatable(adapter)
if adapter.setup then
adapter.setup(config)
+ elseif adapter.adapter then
+ adapter.adapter(config)
+ adapter = adapter.adapter
elseif meta and meta.__call then
- adapter(config)
+ adapter = adapter(config)
else
error("Adapter " .. name .. " does not support setup")
end
end,
-- stylua: ignore
keys = {
+ {"<leader>t", "", desc = "+test"},
{ "<leader>tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" },
{ "<leader>tT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" },
{ "<leader>tr", function() require("neotest").run.run() end, desc = "Run Nearest" },
+ { "<leader>tl", function() require("neotest").run.run_last() end, desc = "Run Last" },
{ "<leader>ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" },
{ "<leader>to", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" },
{ "<leader>tO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" },
{ "<leader>tS", function() require("neotest").run.stop() end, desc = "Stop" },
+ { "<leader>tw", function() require("neotest").watch.toggle(vim.fn.expand("%")) end, desc = "Toggle Watch" },
},
},
{