diff --git a/queries/ecma/textobjects.scm b/queries/ecma/textobjects.scm index 91568284..820953e5 100644 --- a/queries/ecma/textobjects.scm +++ b/queries/ecma/textobjects.scm @@ -207,39 +207,6 @@ ","? @_end (#make-range! "parameter.outer" @parameter.inner @_end)) -; If the array/object pattern is the first parameter, treat its elements as the argument list -(formal_parameters - . - (_ - [ - (object_pattern - "," @_start - . - (_) @parameter.inner) - (array_pattern - "," @_start - . - (_) @parameter.inner) - ]) - (#make-range! "parameter.outer" @_start @parameter.inner)) - -(formal_parameters - . - (_ - [ - (object_pattern - . - (_) @parameter.inner - . - ","? @_end) - (array_pattern - . - (_) @parameter.inner - . - ","? @_end) - ]) - (#make-range! "parameter.outer" @parameter.inner @_end)) - ; arguments (arguments "," @_start @@ -343,6 +310,12 @@ (array (_) @parameter.inner) +(object_pattern + (_) @parameter.inner) + +(array_pattern + (_) @parameter.inner) + ; 2. parameter.outer: Only one element, no comma (object . @@ -352,6 +325,14 @@ . (_) @parameter.outer .) +(object_pattern + . + (_) @parameter.outer .) + +(array_pattern + . + (_) @parameter.outer .) + ; 3. parameter.outer: Comma before or after ([ (object @@ -362,6 +343,14 @@ "," @_start . (_) @_end) + (object_pattern + "," @_start + . + (_) @_end) + (array_pattern + "," @_start + . + (_) @_end) ] (#make-range! "parameter.outer" @_start @_end)) @@ -374,5 +363,13 @@ (_) @_start . "," @_end) + (object_pattern + (_) @_start + . + "," @_end) + (array_pattern + (_) @_start + . + "," @_end) ] (#make-range! "parameter.outer" @_start @_end))