-
Notifications
You must be signed in to change notification settings - Fork 220
test: properly check treesitter lang and only install parser when needed #583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
test: properly check treesitter lang and only install parser when needed #583
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can update the runner to 0.11.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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-treesitter
API 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