diff options
author | Gammut | 2023-07-09 16:35:32 +0000 |
---|---|---|
committer | GitHub | 2023-07-09 16:35:32 +0000 |
commit | 607b426e269b17f4ad32dca9c612c4a9f8541766 (patch) | |
tree | f9e57fa45041c066bf2ea4ecca692986f66291c1 /runtime/queries/_jsx | |
parent | 28452e1f2a63fe4806078da0f854d01506fc0c0c (diff) |
Refactor queries for ecma based languages (#7207)
Diffstat (limited to 'runtime/queries/_jsx')
-rw-r--r-- | runtime/queries/_jsx/highlights.scm | 55 | ||||
-rw-r--r-- | runtime/queries/_jsx/indents.scm | 7 |
2 files changed, 62 insertions, 0 deletions
diff --git a/runtime/queries/_jsx/highlights.scm b/runtime/queries/_jsx/highlights.scm new file mode 100644 index 00000000..00641cde --- /dev/null +++ b/runtime/queries/_jsx/highlights.scm @@ -0,0 +1,55 @@ +; Opening elements +; ---------------- + +(jsx_opening_element ((identifier) @constructor + (#match? @constructor "^[A-Z]"))) + +; Handle the dot operator effectively - <My.Component> +(jsx_opening_element ((nested_identifier (identifier) @tag (identifier) @constructor))) + +(jsx_opening_element (identifier) @tag) + +; Closing elements +; ---------------- + +(jsx_closing_element ((identifier) @constructor + (#match? @constructor "^[A-Z]"))) + +; Handle the dot operator effectively - </My.Component> +(jsx_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor))) + +(jsx_closing_element (identifier) @tag) + +; Self-closing elements +; --------------------- + +(jsx_self_closing_element ((identifier) @constructor + (#match? @constructor "^[A-Z]"))) + +; Handle the dot operator effectively - <My.Component /> +(jsx_self_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor))) + +(jsx_self_closing_element (identifier) @tag) + +; Attributes +; ---------- + +(jsx_attribute (property_identifier) @variable.other.member) + +; Punctuation +; ----------- + +; Handle attribute delimiter +(jsx_attribute "=" @punctuation.delimiter) + +; <Component> +(jsx_opening_element ["<" ">"] @punctuation.bracket) + +; </Component> +(jsx_closing_element ["<" "/" ">"] @punctuation.bracket) + +; <Component /> +(jsx_self_closing_element ["<" "/" ">"] @punctuation.bracket) + +; <> ... </> +(jsx_fragment ["<" "/" ">"] @punctuation.bracket) diff --git a/runtime/queries/_jsx/indents.scm b/runtime/queries/_jsx/indents.scm new file mode 100644 index 00000000..4731856c --- /dev/null +++ b/runtime/queries/_jsx/indents.scm @@ -0,0 +1,7 @@ +[ + (jsx_fragment) + (jsx_element) + (jsx_self_closing_element) +] @indent + +(parenthesized_expression) @indent |