Closed prescientmoon closed 2 months ago
hey 👋
thanks for reporting.
A minimal Neovim config used to reproduce this issue.
By this, I mean a full minimal config, without other plugins that could potentially interfere with this one. This is required so that I don't spend time trying to reproduce issues that may be caused by another plugin or a misconfiguration.
I don't provide a template with this repository yet, but you can use this one as an example. It just needs to be adapted to use neotest with this adapter and the tree-sitter-haskell parser.
P.S. I'm on vacation right now so I may be slow to respond.
@mrcjkb Here's a config that reproduces the issue:
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()
require("lazy.minit").repro({
spec = {
{
config = function()
require("neotest").setup({
require("neotest-haskell")({
build_tools = {
"stack",
},
frameworks = {
"hspec",
},
}),
})
end,
dependencies = {
"mrcjkb/neotest-haskell",
"nvim-lua/plenary.nvim",
{
dir = "/nix/store/m0fnisxcjbf34xqmcj0i7nw5nkdla1nv-treesitter-with-parsers",
},
"nvim-neotest/nvim-nio",
},
name = "neotest",
"nvim-neotest/neotest",
},
},
})
Load the config with nvim -u config.lua Spec.hs
, where Spec.hs
is the following file:
{-# LANGUAGE QuasiQuotes #-}
module Tests.Server.ColumnsSpec (main) where
import Test.Hspec (Spec, before_, describe, it, pendingWith, shouldBe)
main :: Spec
main = do
void $ before_ populateMainServerDb $ do
it "supports creating a new single select column" $ do
pure ()
The treesitter is taken from nixpkgs so I do not have to build the parsers locally. The expression for it is something like:
pkgs.symlinkJoin {
name = "treesitter-with-parsers";
paths = [
pkgs.vimPlugins.nvim-treesitter.withAllGrammars
pkgs.vimPlugins.nvim-treesitter.withAllGrammars.dependencies
];
}
The checkhealth
does pass, so the haskell parser is indeed there I think.
Here's your probem:
require("neotest").setup({
require("neotest-haskell")({
build_tools = {
"stack",
},
frameworks = {
"hspec",
},
}),
})
should be
require("neotest").setup({
adapters = {
require("neotest-haskell")({
build_tools = {
"stack",
},
frameworks = {
"hspec",
},
}),
},
})
@mrcjkb OMG, thank you so much <3
Neovim version (nvim -v)
v0.10.1
Operating system/version
NixOS 24.05
How to reproduce the issue
This is my test file
Expected behaviour
The test should run when my cursor is over the
it
Actual behaviour
"No tests found" is printed instead
A minimal Neovim config used to reproduce this issue.
This is the relevant section: