mirror of https://github.com/helix-editor/helix
fix: Improve JSX and TSX tag highlighting (#3973)
parent
d2bb7f5a09
commit
90468ad6c5
|
@ -1,5 +1,3 @@
|
||||||
; inherits: ecma
|
|
||||||
|
|
||||||
; Highlight component names differently
|
; Highlight component names differently
|
||||||
(jsx_opening_element ((identifier) @constructor
|
(jsx_opening_element ((identifier) @constructor
|
||||||
(#match? @constructor "^[A-Z]")))
|
(#match? @constructor "^[A-Z]")))
|
||||||
|
@ -7,21 +5,33 @@
|
||||||
; Handle the dot operator effectively - <My.Component>
|
; Handle the dot operator effectively - <My.Component>
|
||||||
(jsx_opening_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
(jsx_opening_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
||||||
|
|
||||||
|
; Highlight brackets differently
|
||||||
|
(jsx_opening_element ["<" ">"] @punctuation.bracket)
|
||||||
|
|
||||||
(jsx_closing_element ((identifier) @constructor
|
(jsx_closing_element ((identifier) @constructor
|
||||||
(#match? @constructor "^[A-Z]")))
|
(#match? @constructor "^[A-Z]")))
|
||||||
|
|
||||||
; Handle the dot operator effectively - </My.Component>
|
; Handle the dot operator effectively - </My.Component>
|
||||||
(jsx_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
(jsx_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
||||||
|
|
||||||
|
; Highlight brackets differently
|
||||||
|
(jsx_closing_element ["<" "/" ">"] @punctuation.bracket)
|
||||||
|
|
||||||
(jsx_self_closing_element ((identifier) @constructor
|
(jsx_self_closing_element ((identifier) @constructor
|
||||||
(#match? @constructor "^[A-Z]")))
|
(#match? @constructor "^[A-Z]")))
|
||||||
|
|
||||||
; Handle the dot operator effectively - <My.Component />
|
; Handle the dot operator effectively - <My.Component />
|
||||||
(jsx_self_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
(jsx_self_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor)))
|
||||||
|
|
||||||
; TODO: also tag @punctuation.delimiter?
|
; Highlight brackets differently
|
||||||
|
(jsx_self_closing_element ["<" "/" ">"] @punctuation.bracket)
|
||||||
|
|
||||||
|
; Handle attribute delimiter
|
||||||
|
(jsx_attribute "=" @punctuation.delimiter)
|
||||||
|
|
||||||
(jsx_opening_element (identifier) @tag)
|
(jsx_opening_element (identifier) @tag)
|
||||||
(jsx_closing_element (identifier) @tag)
|
(jsx_closing_element (identifier) @tag)
|
||||||
(jsx_self_closing_element (identifier) @tag)
|
(jsx_self_closing_element (identifier) @tag)
|
||||||
(jsx_attribute (property_identifier) @variable.other.member)
|
(jsx_attribute (property_identifier) @variable.other.member)
|
||||||
|
|
||||||
|
; inherits: ecma
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
; inherits: typescript
|
; inherits: jsx,typescript
|
||||||
|
|
Loading…
Reference in New Issue