diff --git a/crates/languages/src/javascript/highlights.scm b/crates/languages/src/javascript/highlights.scm index 711e2e5d48759f..9986390b4e4c71 100644 --- a/crates/languages/src/javascript/highlights.scm +++ b/crates/languages/src/javascript/highlights.scm @@ -82,6 +82,7 @@ (escape_sequence) @string.escape (regex) @string.regex +(regex_flags) @keyword.regex (number) @number ; Tokens @@ -210,6 +211,8 @@ "<" @punctuation.bracket ">" @punctuation.bracket) +(decorator "@" @punctuation.special) + ; Keywords [ "abstract" @@ -229,11 +232,13 @@ ] @keyword ; JSX elements -(jsx_opening_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) -(jsx_closing_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) -(jsx_self_closing_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) - -(jsx_attribute (property_identifier) @attribute) -(jsx_opening_element (["<" ">"]) @punctuation.bracket) -(jsx_closing_element ([""]) @punctuation.bracket) -(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket) +(jsx_opening_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) +(jsx_closing_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) +(jsx_self_closing_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) + +(jsx_attribute (property_identifier) @attribute.jsx) +(jsx_opening_element (["<" ">"]) @punctuation.bracket.jsx) +(jsx_closing_element ([""]) @punctuation.bracket.jsx) +(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket.jsx) +(jsx_attribute "=" @punctuation.delimiter.jsx) +(jsx_text) @text.jsx diff --git a/crates/languages/src/tsx/highlights.scm b/crates/languages/src/tsx/highlights.scm index 323f58c5577f30..d21f0c2147b33f 100644 --- a/crates/languages/src/tsx/highlights.scm +++ b/crates/languages/src/tsx/highlights.scm @@ -86,6 +86,7 @@ (escape_sequence) @string.escape (regex) @string.regex +(regex_flags) @keyword.regex (number) @number ; Tokens @@ -221,6 +222,8 @@ "<" @punctuation.bracket ">" @punctuation.bracket) +(decorator "@" @punctuation.special) + ; Keywords [ "abstract" @@ -240,11 +243,13 @@ ] @keyword ; JSX elements -(jsx_opening_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) -(jsx_closing_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) -(jsx_self_closing_element (identifier) @tag (#match? @tag "^[a-z][^.]*$")) - -(jsx_attribute (property_identifier) @attribute) -(jsx_opening_element (["<" ">"]) @punctuation.bracket) -(jsx_closing_element ([""]) @punctuation.bracket) -(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket) +(jsx_opening_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) +(jsx_closing_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) +(jsx_self_closing_element (identifier) @tag.jsx (#match? @tag.jsx "^[a-z][^.]*$")) + +(jsx_attribute (property_identifier) @attribute.jsx) +(jsx_opening_element (["<" ">"]) @punctuation.bracket.jsx) +(jsx_closing_element ([""]) @punctuation.bracket.jsx) +(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket.jsx) +(jsx_attribute "=" @punctuation.delimiter.jsx) +(jsx_text) @text.jsx diff --git a/crates/languages/src/typescript/highlights.scm b/crates/languages/src/typescript/highlights.scm index 091ddfed9d02e9..bccb22fa9c743e 100644 --- a/crates/languages/src/typescript/highlights.scm +++ b/crates/languages/src/typescript/highlights.scm @@ -110,6 +110,7 @@ (escape_sequence) @string.escape (regex) @string.regex +(regex_flags) @keyword.regex (number) @number ; Tokens @@ -199,6 +200,8 @@ "<" @punctuation.bracket ">" @punctuation.bracket) +(decorator "@" @punctuation.special) + ; Keywords [