highlights: create subscoping for ternary operator

After https://github.com/nvim-treesitter/nvim-treesitter/issues/470,
we decided to use `@conditional` for ternary operator instead of
operator despite `@conditional` is documented for keywords only.
A sub-scoping can make it easier for people to highlight this operator
group differently.

Also unify the usage of `@conditional...` across languages.
This commit is contained in:
Stephan Seitz 2022-12-02 20:22:58 +01:00
parent 74c46c8917
commit d6a2ecb8b7
13 changed files with 20 additions and 13 deletions

View file

@ -146,6 +146,7 @@ effect on highlighting. We will work on improving highlighting in the near futur
@keyword.return ; keywords like `return` and `yield`
@conditional ; keywords related to conditionals (e.g. `if` / `else`)
@conditional.ternary ; Ternary operator: condition ? 1 : 2
@repeat ; keywords related to loops (e.g. `for` / `while`)
@debug ; keywords related to debugging
@label ; GOTO and other labels (e.g. `label:` in C)

View file

@ -115,7 +115,7 @@
(ternary_exp [
"?"
":"
] @operator)
] @conditional.ternary)
(update_exp [
"++"

View file

@ -102,7 +102,7 @@
(false)
] @boolean
(conditional_expression [ "?" ":" ] @conditional)
(conditional_expression [ "?" ":" ] @conditional.ternary)
(string_literal) @string
(system_lib_string) @string

View file

@ -185,7 +185,7 @@
] @operator
(binary_expression "/" @operator)
(ternary_expression ["?" ":"] @conditional)
(ternary_expression ["?" ":"] @conditional.ternary)
(unary_expression ["!" "~" "-" "+"] @operator)
(unary_expression ["delete" "void" "typeof"] @keyword.operator)

View file

@ -115,3 +115,6 @@
"."
"?"
] @punctuation.delimiter
(eel_ternary_expression
["?" ":"] @conditional.ternary)

View file

@ -273,7 +273,7 @@
"\\" @punctuation.delimiter)
(ternary_expression
["?" ":"] @conditional)
["?" ":"] @conditional.ternary)
[
"if"

View file

@ -226,7 +226,7 @@
"case"
] @conditional
(ternary_expression ["?" ":"] @conditional)
(ternary_expression ["?" ":"] @conditional.ternary)
;

View file

@ -134,7 +134,7 @@
(else_clause
["else"] @conditional)
(ternary_expression
["?" ":"] @conditional)
["?" ":"] @conditional.ternary)
(try_statement
["try" "end"] @exception)

View file

@ -39,7 +39,8 @@
">="
] @operator
"?" @conditional.ternary
(ternaryoperator
["?" ":"] @conditional.ternary)
[
"if"

View file

@ -13,6 +13,10 @@
; Keywords that mark conditional statements
[ "if" "elsif" "unless" "else" ] @conditional
(ternary_expression
["?" ":"] @conditional.ternary)
(ternary_expression_in_hash
["?" ":"] @conditional.ternary)
; Keywords that mark repeating loops
[ "while" "until" "for" "foreach" ] @repeat
@ -142,8 +146,6 @@
(to_reference)
(type_glob)
(hash_access_variable)
(ternary_expression)
(ternary_expression_in_hash)
] @operator
[

View file

@ -143,4 +143,4 @@
"=>"
] @operator
(ternary_expression [":" "?"] @conditional)
(ternary_expression [":" "?"] @conditional.ternary)

View file

@ -271,7 +271,7 @@
":"
] @punctuation.delimiter
(ternary_expression ["?" ":"] @conditional)
(ternary_expression ["?" ":"] @conditional.ternary)
; Options
((set_value) @number

View file

@ -76,7 +76,7 @@ logic = ${!foo && !(bar || baz) and not 'string'}
// ^operator
ternary = ${ check ? true : false}
// ^punctuation.delimiter
// ^punctuation.delimiter
// ^@conditional.ternary
// ^@conditional.ternary