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 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` # - Add a more complete test case in `tests/test-sources/plugins/neotest/NAME.nix`
{ {
bash = {
treesitter-parser = "bash";
};
dart = { dart = {
treesitter-parser = "dart"; treesitter-parser = "dart";
}; };
@ -16,15 +19,27 @@
elixir = { elixir = {
treesitter-parser = "elixir"; treesitter-parser = "elixir";
}; };
foundry = {
treesitter-parser = "solidity";
};
go = { go = {
treesitter-parser = "go"; treesitter-parser = "go";
}; };
gradle = {
treesitter-parser = "kotlin,java";
};
haskell = { haskell = {
treesitter-parser = "haskell"; treesitter-parser = "haskell";
}; };
java = {
treesitter-parser = "java";
};
jest = { jest = {
treesitter-parser = "javascript"; treesitter-parser = "javascript";
}; };
minitest = {
treesitter-parser = "ruby";
};
pest = { pest = {
treesitter-parser = "php"; treesitter-parser = "php";
}; };
@ -52,4 +67,7 @@
vitest = { vitest = {
treesitter-parser = "javascript"; treesitter-parser = "javascript";
}; };
zig = {
treesitter-parser = "zig";
};
} }

View file

@ -8,7 +8,7 @@
with lib; let with lib; let
supportedAdapters = import ./adapters-list.nix; supportedAdapters = import ./adapters-list.nix;
mkAdapter = name: props: { mkAdapter = name: {treesitter-parser}: {
options.plugins.neotest.adapters.${name} = { options.plugins.neotest.adapters.${name} = {
enable = mkEnableOption name; enable = mkEnableOption name;
@ -30,7 +30,7 @@ with lib; let
(!config.plugins.treesitter.enable) (!config.plugins.treesitter.enable)
'' ''
Nixvim (plugins.neotest.adapters.${name}): This adapter requires `treesitter` to be enabled. 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 = [ plugins.neotest.enabledAdapters = [

View file

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