From 9fdf8e814be8031ee3e6b9e5d6ff82ab3d9c8dcd Mon Sep 17 00:00:00 2001 From: Kiyoon Kim Date: Wed, 21 May 2025 11:23:51 +0900 Subject: [PATCH 1/2] feat(ecma): array pattern, obejct pattern as `@parameter` --- queries/ecma/textobjects.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/queries/ecma/textobjects.scm b/queries/ecma/textobjects.scm index 91568284..08ff5cde 100644 --- a/queries/ecma/textobjects.scm +++ b/queries/ecma/textobjects.scm @@ -343,6 +343,12 @@ (array (_) @parameter.inner) +(object_pattern + (_) @parameter.inner) + +(array_pattern + (_) @parameter.inner) + ; 2. parameter.outer: Only one element, no comma (object . @@ -352,6 +358,14 @@ . (_) @parameter.outer .) +(object_pattern + . + (_) @parameter.outer .) + +(array_pattern + . + (_) @parameter.outer .) + ; 3. parameter.outer: Comma before or after ([ (object @@ -362,6 +376,14 @@ "," @_start . (_) @_end) + (object_pattern + "," @_start + . + (_) @_end) + (array_pattern + "," @_start + . + (_) @_end) ] (#make-range! "parameter.outer" @_start @_end)) @@ -374,5 +396,13 @@ (_) @_start . "," @_end) + (object_pattern + (_) @_start + . + "," @_end) + (array_pattern + (_) @_start + . + "," @_end) ] (#make-range! "parameter.outer" @_start @_end)) From a44e791142db24b333210bdc97cf3709b3faa61a Mon Sep 17 00:00:00 2001 From: Kiyoon Kim Date: Wed, 21 May 2025 11:27:08 +0900 Subject: [PATCH 2/2] refactor(ecma): remove unnecessary queries --- queries/ecma/textobjects.scm | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/queries/ecma/textobjects.scm b/queries/ecma/textobjects.scm index 08ff5cde..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