From c3b7a893bee52ffbd3dbeccac242f70dffece93d Mon Sep 17 00:00:00 2001 From: Brett Schneider Date: Sun, 22 Feb 2026 22:40:18 -0600 Subject: [PATCH] languages: Add syntax highlighting for HTML character references (#48629) HTML character references like `·`, `'`, and `{` are correctly parsed by tree-sitter as named nodes (`html_character_reference` in TSX/JavaScript, `entity` in HTML), but no highlight query captures them. This means they render as plain, unhighlighted text in the editor. This PR adds one-line highlight captures for each: - **TSX** (`crates/languages/src/tsx/highlights.scm`): `(html_character_reference) @string.special` - **JavaScript** (`crates/languages/src/javascript/highlights.scm`): `(html_character_reference) @string.special` - **HTML** (`extensions/html/languages/html/highlights.scm`): `(entity) @string.special` `@string.special` is already styled by all built-in themes (One Dark, Ayu, Gruvbox, etc.), so no theme changes are needed. Release Notes: - Added syntax highlighting for HTML character references (`·`, `'`, `{`, etc.) in TSX, JavaScript, and HTML files. --- crates/languages/src/javascript/highlights.scm | 1 + crates/languages/src/tsx/highlights.scm | 1 + extensions/html/languages/html/highlights.scm | 1 + 3 files changed, 3 insertions(+) diff --git a/crates/languages/src/javascript/highlights.scm b/crates/languages/src/javascript/highlights.scm index 938ee78e7f..5561dc31d5 100644 --- a/crates/languages/src/javascript/highlights.scm +++ b/crates/languages/src/javascript/highlights.scm @@ -360,3 +360,4 @@ (jsx_self_closing_element (["<" "/>"]) @punctuation.bracket.jsx) (jsx_attribute "=" @punctuation.delimiter.jsx) (jsx_text) @text.jsx +(html_character_reference) @string.special diff --git a/crates/languages/src/tsx/highlights.scm b/crates/languages/src/tsx/highlights.scm index 1339baabf2..a96bf96281 100644 --- a/crates/languages/src/tsx/highlights.scm +++ b/crates/languages/src/tsx/highlights.scm @@ -424,3 +424,4 @@ (jsx_self_closing_element (["<" "/>"]) @punctuation.bracket.jsx) (jsx_attribute "=" @punctuation.delimiter.jsx) (jsx_text) @text.jsx +(html_character_reference) @string.special diff --git a/extensions/html/languages/html/highlights.scm b/extensions/html/languages/html/highlights.scm index 1cc0601b76..bb3b43e813 100644 --- a/extensions/html/languages/html/highlights.scm +++ b/extensions/html/languages/html/highlights.scm @@ -7,6 +7,7 @@ (attribute_value) ] @string (comment) @comment +(entity) @string.special "=" @punctuation.delimiter.html