fix(builtin.treesitter) Force eval treesitter #3449
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I'm not sure if that's the best way to go about it, but that's the solution I came up with.
Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context
Fixes two problems.
treesitter
locals aren't populated until it's executed for highlighting, indents, etc, so if you disable highlighting for a particular language (or all of them), it will return no symbols. I worked around this by forcingparser:parse()
. If performance is unacceptable, we could make it an option, but for me, it worked well.This PR displays them as errors. feat(builtin.treesitter) send user message if no symbols found. #3416 does something very similar, but because I needed both fixes for my fork, I include it as well 😅
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list relevant details about your configuration
I've tested it Rust file while disabling treesitter highlighting.
Returns nothing before this PR, after this PR returns symbols as expected.
Tested on my own config files, which don't have any symbols that the Lua parser recognised as locals.
Configuration:
Checklist: