All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Add
tree-sitter-haskell
to rockspec dependencies.
- Updated queries to work with tree-sitter-haskell v0.21.0 rewrite.
- If you are using nvim-treesitter to manage parser installations, run
:TSUpdate
to ensure you have the latest tree-sitter-haskell version. - If you are using Nix with an older version of the parser, you can either package tree-sitter-haskell, or pin an older version of this plugin.
- If you are using nvim-treesitter to manage parser installations, run
- Typo in tasty module.
tree-sitter-haskell
parser declared in rockspec dependencies. Supports automatic installation with rocks.nvim.
- LuaRocks releases.
- Health check: Fix broken tree-sitter parser check.
- Remove
plenary.nvim
dependency. This does not bump any version requirements, and is not a breaking change.
- POTENTIALLY BREAKING: remove
nvim-treesitter
dependency. It is advised to be on at least Neovim v0.9.0 to use this plugin without nvim-treesitter. The tree-sitter parser for Haskell still has to be installed.
- Some plugin startup time improvements.
- Don't pass
-p
option totasty
if no paths to filter on are detected. - Tree-sitter root node detection in test files for which namespaces
cannot be detected: Allow
test
nodes to be root nodes, too. - Treat all files with
spec
ortest
in the path as test files.
- Add missing
tasty-golden
goldenVsString
query.
- Do not use deprecated health check API in neovim > 0.9.
- Support for neotest's upcoming
nio
async library.
- Support for the
sydtest
test framework. - Move position queries to
queries/haskell/<framework>-positions.scm
andqueries/haskell/<framework>-test
. This allows the addition of extra queries to$XDG_CONFIG_HOME/nvim/after/queries/haskell/<framework>-positions.scm
- Hspec: support
context
,xcontext
,specify
andxspecify
- Support configuring which modules are used to identify test frameworks.
- Support for the
tasty
test framework. - Tested with:
tasty-hspec
tasty-hunit
tasty-quickcheck
tasty-smallcheck
tasty-hedgehog
tasty-leancheck
tasty-expected-failure
tasty-program
tasty-wai
- Health checks (
:help checkhealth
). - Hspec: Support for skipped tests (
xdescribe
xit
,xprop
).
- Configuration option
build_tools
which allows selection of one's preferred build tool to run tests.
- Improved and simplified Hspec test/namespace position discovery.
- Improved parsing of Hspec test results.
- Do not send a notification with Hspec
--match
expression.
- Run all top-level tests in tests of type
file
(#50).
- Support for test files (See #45).
Running
neotes.run.run(vim.api.nvim_buf_get_name)
will now run a single process for the top-level Hspec node. - Support for simple cabal projects. These are projects with a single package and no
cabal.project
file.
- Trims string ends from failed test results
- Packer init in minimal config for reproducing issues locally.
- Virtual text not displayed if test name contains lua
match
special characters. - Detect files ending in "Tests.hs" as test files
- Stack support!
- Error message when running outside of test definitions.
- Virtual text not shown when cursor is on
it
orprop
test.
- Do not display full output as virtual text..
To display output, see
:h neotest.output.open()
. - Run all tests if no package is found.
- Run tests without options if no (hspec) test options can be found.
- Parse hspec test results and display error messages as virtual text.
- Remove double-quotes from match argument, which caused hspec not to be able ot find any matches.
- Simplify generated cabal command to run
new-test
instead ofnew-run
. Previously, the generated command would have looked like this:cabal new-run <test-suite-name> -- -m "/path/to/hspec/branch/"
Now it looks like this:cabal new-test <(sub)package-name> --test-argument -m --test-argument "/path/to/hspec/branch/"
The reason for this change is to make it Cabal's responsibility to ensure the correct tests are run if a package has more than one test suite. With the previous approach, it was possible to run the wrong test suite without any matches.