plugins/neotest: add more adapters

This commit is contained in:
Gaetan Lepage 2024-03-18 14:43:48 +01:00 committed by Gaétan Lepage
parent 975f1ca526
commit 5004178c0c
6 changed files with 109 additions and 2 deletions

View file

@ -4,6 +4,9 @@
# - Add the adapter to `all-adapters` in `tests/test-sources/plugins/neotest/default.nix`
# - Add a more complete test case in `tests/test-sources/plugins/neotest/NAME.nix`
{
bash = {
treesitter-parser = "bash";
};
dart = {
treesitter-parser = "dart";
};
@ -16,15 +19,27 @@
elixir = {
treesitter-parser = "elixir";
};
foundry = {
treesitter-parser = "solidity";
};
go = {
treesitter-parser = "go";
};
gradle = {
treesitter-parser = "kotlin,java";
};
haskell = {
treesitter-parser = "haskell";
};
java = {
treesitter-parser = "java";
};
jest = {
treesitter-parser = "javascript";
};
minitest = {
treesitter-parser = "ruby";
};
pest = {
treesitter-parser = "php";
};
@ -52,4 +67,7 @@
vitest = {
treesitter-parser = "javascript";
};
zig = {
treesitter-parser = "zig";
};
}

View file

@ -8,7 +8,7 @@
with lib; let
supportedAdapters = import ./adapters-list.nix;
mkAdapter = name: props: {
mkAdapter = name: {treesitter-parser}: {
options.plugins.neotest.adapters.${name} = {
enable = mkEnableOption name;
@ -30,7 +30,7 @@ with lib; let
(!config.plugins.treesitter.enable)
''
Nixvim (plugins.neotest.adapters.${name}): This adapter requires `treesitter` to be enabled.
You might want to set `plugins.treesitter.enable = true` and ensure that the `${props.treesitter-parser}` is enabled.
You might want to set `plugins.treesitter.enable = true` and ensure that the `${props.treesitter-parser}` parser is enabled.
'';
plugins.neotest.enabledAdapters = [

View file

@ -10,13 +10,18 @@
enable = true;
adapters = {
bash.enable = true;
dart.enable = true;
deno.enable = true;
dotnet.enable = true;
elixir.enable = true;
foundry.enable = true;
go.enable = true;
gradle.enable = true;
haskell.enable = true;
java.enable = true;
jest.enable = true;
minitest.enable = true;
pest.enable = true;
phpunit.enable = true;
plenary.enable = true;
@ -26,6 +31,7 @@
scala.enable = true;
testthat.enable = true;
vitest.enable = true;
zig.enable = true;
};
};
};

View file

@ -0,0 +1,38 @@
{
example = {
plugins = {
treesitter.enable = true;
neotest = {
enable = true;
adapters.foundry = {
enable = true;
settings = {
foundryCommand = "forge test";
foundryConfig = null;
env = {};
cwd.__raw = ''
function ()
return lib.files.match_root_pattern("foundry.toml")
end
'';
filterDir.__raw = ''
function(name)
return (
name ~= "node_modules"
and name ~= "cache"
and name ~= "out"
and name ~= "artifacts"
and name ~= "docs"
and name ~= "doc"
-- and name ~= "lib"
)
end
'';
};
};
};
};
};
}

View file

@ -0,0 +1,18 @@
{
example = {
plugins = {
treesitter.enable = true;
neotest = {
enable = true;
adapters.java = {
enable = true;
settings = {
ignore_wrapper = false;
};
};
};
};
};
}

View file

@ -0,0 +1,27 @@
{
example = {
plugins = {
treesitter.enable = true;
neotest = {
enable = true;
adapters.minitest = {
enable = true;
settings = {
test_cmd.__raw = ''
function()
return vim.tbl_flatten({
"bundle",
"exec",
"rails",
"test",
})
end
'';
};
};
};
};
};
}