diff options
| author | Santos Gallegos <stsewd@proton.me> | 2023-02-13 03:43:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-13 09:43:26 +0100 |
| commit | 1ec36fdcd567ee97e77fbaec29c3f8145d51e72c (patch) | |
| tree | 5b20e5502f6a80d54115a67cd96a0a1ec5c227bd | |
| parent | properly replace deprecated tsutils functions (diff) | |
| download | nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar.gz nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar.bz2 nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar.lz nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar.xz nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.tar.zst nvim-treesitter-1ec36fdcd567ee97e77fbaec29c3f8145d51e72c.zip | |
comment(highlights): reduce false positives (#4298)
There are a couple cases where the comment highlights
will match things that aren't necessary a tag.
For example in Rust, when commenting a block that deals with
generics (generics are declared as `T: Type`),
this may be distracting.
So, instead of highlighting all tags, we can restrict
to highlighting the explicit keywords.
Ref https://github.com/stsewd/tree-sitter-comment/issues/14
| -rw-r--r-- | queries/comment/highlights.scm | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/queries/comment/highlights.scm b/queries/comment/highlights.scm index 66bc99cc7..6466a4783 100644 --- a/queries/comment/highlights.scm +++ b/queries/comment/highlights.scm @@ -1,36 +1,37 @@ (_) @spell -[ - "(" - ")" -] @punctuation.bracket - -":" @punctuation.delimiter - -(tag +((tag (name) @text.todo - (user)? @constant) - -((tag ((name) @text.todo)) - (#eq? @text.todo "TODO")) + ("(" @punctuation.bracket (user) @constant ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#eq? @text.todo "TODO")) ("text" @text.todo (#eq? @text.todo "TODO")) -((tag ((name) @text.note)) - (#any-of? @text.note "NOTE" "XXX")) +((tag + (name) @text.note + ("(" @punctuation.bracket (user) @constant ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @text.note "NOTE" "XXX")) ("text" @text.note (#any-of? @text.note "NOTE" "XXX")) -((tag ((name) @text.warning)) - (#any-of? @text.warning "HACK" "WARNING")) +((tag + (name) @text.warning + ("(" @punctuation.bracket (user) @constant ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @text.warning "HACK" "WARNING")) ("text" @text.warning (#any-of? @text.warning "HACK" "WARNING")) -((tag ((name) @text.danger)) - (#any-of? @text.danger "FIXME" "BUG")) +((tag + (name) @text.danger + ("(" @punctuation.bracket (user) @constant ")" @punctuation.bracket)? + ":" @punctuation.delimiter) + (#any-of? @text.danger "FIXME" "BUG")) ("text" @text.danger (#any-of? @text.danger "FIXME" "BUG")) |
