aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/_javascript/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/_javascript/highlights.scm')
-rw-r--r--runtime/queries/_javascript/highlights.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/runtime/queries/_javascript/highlights.scm b/runtime/queries/_javascript/highlights.scm
new file mode 100644
index 00000000..8b0bbb94
--- /dev/null
+++ b/runtime/queries/_javascript/highlights.scm
@@ -0,0 +1,36 @@
+; Function and method parameters
+;-------------------------------
+
+; Javascript and Typescript Treesitter grammars deviate when defining the
+; tree structure for parameters, so we need to address them in each specific
+; language instead of ecma.
+
+; (p)
+(formal_parameters
+ (identifier) @variable.parameter)
+
+; (...p)
+(formal_parameters
+ (rest_pattern
+ (identifier) @variable.parameter))
+
+; ({ p })
+(formal_parameters
+ (object_pattern
+ (shorthand_property_identifier_pattern) @variable.parameter))
+
+; ({ a: p })
+(formal_parameters
+ (object_pattern
+ (pair_pattern
+ value: (identifier) @variable.parameter)))
+
+; ([ p ])
+(formal_parameters
+ (array_pattern
+ (identifier) @variable.parameter))
+
+; (p = 1)
+(formal_parameters
+ (assignment_pattern
+ left: (identifier) @variable.parameter))