From: Samir Benmendil Date: Sat, 1 Mar 2025 16:37:06 +0000 (+0000) Subject: lazyvim: absorb/update neotest X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/449e5a08ca88c158f6954eebfbf62b088fc333b6 lazyvim: absorb/update neotest --- diff --git a/nvim/lua/plugins/test.lua b/nvim/lua/plugins/test.lua index 9e425c6..9ed3fc4 100644 --- a/nvim/lua/plugins/test.lua +++ b/nvim/lua/plugins/test.lua @@ -1,11 +1,14 @@ 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, }, @@ -51,6 +54,7 @@ return { 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 @@ -65,8 +69,11 @@ return { 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 @@ -81,13 +88,16 @@ return { end, -- stylua: ignore keys = { + {"t", "", desc = "+test"}, { "tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, { "tT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, { "tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, { "ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, { "to", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, { "tO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, { "tS", function() require("neotest").run.stop() end, desc = "Stop" }, + { "tw", function() require("neotest").watch.toggle(vim.fn.expand("%")) end, desc = "Toggle Watch" }, }, }, {