Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Replace '; inherits <language>' in treesitter queries with <language> queries instead of appending them #2470

Merged
merged 2 commits into from
Jul 22, 2022

Conversation

Philipp-M
Copy link
Contributor

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

declare namespace GreetingLib { }

(@namespace for GreetingLib)

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?

@the-mikedavis
Copy link
Member

I like this 👍

We would be diverging a bit from what other tree-sitter consumers allow but I don't see much potential for that to be bad in this case. If anything, we could contribute this upstream back to tree-sitter-cli.

@the-mikedavis the-mikedavis added the S-waiting-on-review Status: Awaiting review from a maintainer. label May 18, 2022
@the-mikedavis
Copy link
Member

I think "inherit" is still appropriate. It may be good to rename it to "inherit" rather than "inherits" since "inherits" sounds declarative and this PR makes inheriting imperative.

@archseer archseer merged commit b6c700f into helix-editor:master Jul 22, 2022
thomasskk pushed a commit to thomasskk/helix that referenced this pull request Sep 9, 2022
… queries instead of appending them (helix-editor#2470)

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
S-waiting-on-review Status: Awaiting review from a maintainer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants