From 8ec4e135e318c7799b2576a8729493c063da4a97 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 30 Jul 2026 17:05:12 -0300 Subject: --- vrsite/assets/jsx.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 vrsite/assets/jsx.scm (limited to 'vrsite/assets/jsx.scm') diff --git a/vrsite/assets/jsx.scm b/vrsite/assets/jsx.scm new file mode 100644 index 0000000..708eba2 --- /dev/null +++ b/vrsite/assets/jsx.scm @@ -0,0 +1,16 @@ +; JSX highlights, from tree-sitter/tree-sitter-javascript v0.25.0 +; queries/highlights-jsx.scm (MIT), verbatim but for the capture rename. +; Loaded last for .jsx and .tsx; the plain typescript grammar has no JSX nodes, +; so .ts must not get this file. + +(jsx_opening_element ["<" ">"] @punctuation.bracket) +(jsx_closing_element [""] @punctuation.bracket) +(jsx_self_closing_element ["<" "/>"] @punctuation.bracket) + +(jsx_attribute (property_identifier) @attribute) + +; lowercase names are html elements, capitalized ones are components and keep +; the @constructor javascript.scm gave them +((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][^.]*$")) -- cgit v1.3