test: properly check treesitter lang and only install parser when needed#583
test: properly check treesitter lang and only install parser when needed#583PeterCardenas wants to merge 1 commit intonvim-treesitter:masterfrom
Conversation
Because of the way we were checking the treesitter lang, we were relying on the parser to already be installed for the test to not be skipped. Now we check it via an `nvim-treesitter` API that does not require the parser to be installed. This results in all the parsers to be installed even when the related tests won't be run, so we do a lazy setup here as well.
| return nil | ||
| end | ||
| return parser:lang() | ||
| return require('nvim-treesitter.parsers').get_buf_lang(...) |
There was a problem hiding this comment.
nvim-treesitter is going to be replaced with the main branch soon enough, so I'd like to minimise relying on any it's API.
There was a problem hiding this comment.
so looks like in main we register the filetype to lang mappings immediately instead of lazily in which case we can use vim.treesitter.language.get_lang directly. we could change it to that anticipatorily, just that this PR won't work until main is swapped in
There was a problem hiding this comment.
I think we can safely switch to main in this repo even though it isn't default yet.
There was a problem hiding this comment.
looks like the main branch is using an incompatible vim.validate signature than the one the runner is using. the runner expects a table, but we're giving a string
There was a problem hiding this comment.
We can update the runner to 0.11.
There was a problem hiding this comment.
you mean explicitly only 0.11? because the vim.validate usage is not compatible with 0.10.2
There was a problem hiding this comment.
We only have 1 runner version and several test versions. The runner version should ideally be the latest release.
|
Sorry, I don't understand what problem this PR is solving. |
|
so right now if you run a test with no populated |
Because of the way we were checking the treesitter lang, we were relying
on the parser to already be installed for the test to not be skipped.
Now we check it via an
nvim-treesitterAPI that does not require theparser to be installed. This results in all the parsers to be installed
even when the related tests won't be run, so we do a lazy setup here as
well.
Followup to #568