Files
nvim-config/lua/plugins/neotest.lua

57 lines
1.6 KiB
Lua

-- Neotest: test runner with Go and Python adapters.
-- Loads on go/python filetypes, or when require("neotest") is called from a
-- keymap (config.keymap wraps the bindings in `function() require(...) end`
-- precisely so the lazy-load can happen.
return {
{
"nvim-neotest/neotest",
lazy = true,
ft = { "go", "ptyhon", "zig" },
dependencies = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter", -- noetest-zig parses tests via treesitter
-- Adapters
"nvim-neotest/neotest-go",
"nvim-neotest/neotest-python",
"lawrence-laz/neotest-zig",
},
config = function()
require("neotest").setup({
log_level = vim.log.levels.WARN,
discovery = {
enabled = true,
concurrent = 0,
},
running = {
concurrent = true,
},
adapters = {
require("neotest-go")({
experimental = {
test_table = true,
},
args = { "-count=1", "-race" },
}),
require("neotest-python")({
dap = { justMyCode = false },
args = { "--disable-warnings", "-q" },
}),
-- Zig: requires a standard `test` step in build.zig for project-wide runs;
-- individual .zig files also work.
-- dap.adapter must match the adapter named registered in dap.lua (codelldb) so <leader>dT-style
-- debug-test works from the summary too
require("neotest-zig")({
dap = { adapter = "codelldb" },
}),
},
})
end,
},
}