Replace '; inherits <language>' in treesitter queries with <language> queries instead of appending them #2470
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.
This enables the possibility to "inherit" a language later in treesitter queries file. It helps with prioritizing queries.
E.g. (the case why I looked into this):
In the typescript highlights query file this didn't work for me:
(internal_module "namespace" (identifier) @namespace)
for
(
@namespace
forGreetingLib
)because somewhere earlier in the javascript query this was defined
((identifier) @constructor (#match? @constructor "^[A-Z]"))
which is of course prioritized, as it is executed earlier.
To solve this particular example with this PR is by appending
; inherits: javascript
at the end of the typescript highlight queries file (I might open a PR for better highlighting in javascript/typescript, likely soon).The keyword "inherits" is a little bit ambiguous with this PR I guess, maybe we should rename it to something else like
"imports"
instead?