2020-08-17 00:21:34 +02:00
|
|
|
(jsx_element
|
2020-09-19 12:21:28 +02:00
|
|
|
open_tag: (jsx_opening_element ["<" ">"] @tag.delimiter))
|
2020-08-17 00:21:34 +02:00
|
|
|
(jsx_element
|
2020-09-19 12:21:28 +02:00
|
|
|
close_tag: (jsx_closing_element ["<" "/" ">"] @tag.delimiter))
|
|
|
|
|
(jsx_self_closing_element ["/" ">" "<"] @tag.delimiter)
|
|
|
|
|
(jsx_fragment [">" "<" "/"] @tag.delimiter)
|
2020-08-17 00:21:34 +02:00
|
|
|
|
2020-09-19 12:21:28 +02:00
|
|
|
(jsx_opening_element
|
|
|
|
|
name: (identifier) @tag)
|
|
|
|
|
|
|
|
|
|
(jsx_closing_element
|
|
|
|
|
name: (identifier) @tag)
|
|
|
|
|
|
2020-10-20 12:10:50 -04:00
|
|
|
(jsx_self_closing_element
|
2020-09-19 12:21:28 +02:00
|
|
|
name: (identifier) @tag)
|
|
|
|
|
|
|
|
|
|
(jsx_opening_element ((identifier) @type
|
|
|
|
|
(#match? @type "^[A-Z]")))
|
|
|
|
|
|
2020-10-20 12:10:50 -04:00
|
|
|
; Handle the dot operator effectively - <My.Component>
|
2020-10-20 14:11:19 -04:00
|
|
|
(jsx_opening_element ((nested_identifier (identifier) @tag (identifier) @type)))
|
2020-10-20 12:10:50 -04:00
|
|
|
|
2020-09-19 12:21:28 +02:00
|
|
|
(jsx_closing_element ((identifier) @type
|
|
|
|
|
(#match? @type "^[A-Z]")))
|
|
|
|
|
|
2020-10-20 12:10:50 -04:00
|
|
|
; Handle the dot operator effectively - </My.Component>
|
2020-10-20 14:11:19 -04:00
|
|
|
(jsx_closing_element ((nested_identifier (identifier) @tag (identifier) @type)))
|
2020-10-20 12:10:50 -04:00
|
|
|
|
2020-09-19 12:21:28 +02:00
|
|
|
(jsx_self_closing_element ((identifier) @type
|
|
|
|
|
(#match? @type "^[A-Z]")))
|
2020-09-14 21:00:03 +02:00
|
|
|
|
2020-10-20 12:10:50 -04:00
|
|
|
; Handle the dot operator effectively - <My.Component />
|
2020-10-20 14:11:19 -04:00
|
|
|
(jsx_self_closing_element ((nested_identifier (identifier) @tag (identifier) @type)))
|
2020-10-20 12:10:50 -04:00
|
|
|
|
2020-09-19 12:32:28 +02:00
|
|
|
(variable_declarator ((identifier) @type
|
|
|
|
|
(#match? @type "^[A-Z]")))
|
|
|
|
|
|
2020-09-14 21:00:03 +02:00
|
|
|
(jsx_text) @none
|