@@ -0,0 +1,205 @@
6+ (shorthand_property_identifier)
7+ (shorthand_property_identifier_pattern)
9+ (#match? @constant "^[A-Z_][A-Z\\d_]+$"))
12+((identifier) @constructor
13+ (#match? @constructor "^[A-Z]"))
15+((identifier) @variable.builtin
16+ (#match? @variable.builtin "^(arguments|module|console|window|document)$")
19+((identifier) @function.builtin
20+ (#eq? @function.builtin "require")
23+; Function and method definitions
24+;--------------------------------
27+ name: (identifier) @function)
29+ name: (identifier) @function)
31+ name: (property_identifier) @function.method)
34+ key: (property_identifier) @function.method
35+ value: [(function) (arrow_function)])
37+(assignment_expression
38+ left: (member_expression
39+ property: (property_identifier) @function.method)
40+ right: [(function) (arrow_function)])
43+ name: (identifier) @function
44+ value: [(function) (arrow_function)])
46+(assignment_expression
47+ left: (identifier) @function
48+ right: [(function) (arrow_function)])
50+; Function and method calls
51+;--------------------------
54+ function: (identifier) @function)
57+ function: (member_expression
58+ property: (property_identifier) @function.method))
63+(identifier) @variable
68+(property_identifier) @property
73+(this) @variable.builtin
74+(super) @variable.builtin
90+(regex) @string.special
96+(template_substitution
97+ "${" @punctuation.special
98+ "}" @punctuation.special) @embedded
105+] @punctuation.delimiter
161+] @punctuation.bracket