From 1ec36fdcd567ee97e77fbaec29c3f8145d51e72c Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 13 Feb 2023 03:43:26 -0500 Subject: 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 --- queries/comment/highlights.scm | 37 +++++++++++++++++++------------------ 1 file 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")) -- cgit v1.3.1