57 lines
1.6 KiB
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,
|
|
},
|
|
}
|