From 57b74110022d1fed5af3f2e34eeca72d665aed52 Mon Sep 17 00:00:00 2001 From: Kiyoon Kim Date: Fri, 23 May 2025 12:34:37 +0900 Subject: [PATCH] feat(rust): `array_expression` as `@parameter`, fix trailing comma at last --- queries/rust/textobjects.scm | 136 +++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) diff --git a/queries/rust/textobjects.scm b/queries/rust/textobjects.scm index 5d6a1550..592028c5 100644 --- a/queries/rust/textobjects.scm +++ b/queries/rust/textobjects.scm @@ -226,6 +226,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((parameters + (self_parameter) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((parameters "," @_start . @@ -239,6 +246,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((parameters + (parameter) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((parameters "," @_start . @@ -252,6 +266,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((parameters + (type_identifier) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((type_parameters "," @_start . @@ -265,6 +286,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((type_parameters + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((tuple_pattern "," @_start . @@ -278,6 +306,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((tuple_pattern + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((tuple_struct_pattern "," @_start . @@ -291,6 +326,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((tuple_struct_pattern + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + (tuple_expression "," @_start . @@ -304,6 +346,13 @@ ","? @_end (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((tuple_expression + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((tuple_type "," @_start . @@ -317,6 +366,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((tuple_type + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + (struct_item body: (field_declaration_list "," @_start @@ -332,6 +388,15 @@ ","? @_end (#make-range! "parameter.outer" @parameter.inner @_end))) +; last element, with trailing comma +(struct_item + body: (field_declaration_list + (_) @_start + . + "," @_end + . + (#make-range! "parameter.outer" @_start @_end))) + (struct_expression body: (field_initializer_list "," @_start @@ -347,6 +412,15 @@ ","? @_end (#make-range! "parameter.outer" @parameter.inner @_end))) +; last element, with trailing comma +(struct_expression + body: (field_initializer_list + (_) @_start + . + "," @_end + . + (#make-range! "parameter.outer" @_start @_end))) + ((closure_parameters "," @_start . @@ -360,6 +434,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((closure_parameters + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((arguments "," @_start . @@ -373,6 +454,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((arguments + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((type_arguments "," @_start . @@ -386,6 +474,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((type_arguments + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + ((token_tree "," @_start . @@ -399,6 +494,13 @@ ","? @_end) (#make-range! "parameter.outer" @parameter.inner @_end)) +; last element, with trailing comma +((token_tree + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + (scoped_use_list list: (use_list "," @_start @@ -414,6 +516,40 @@ ","? @_end (#make-range! "parameter.outer" @parameter.inner @_end))) +; last element, with trailing comma +(scoped_use_list + list: (use_list + (_) @_start + . + "," @_end + . + (#make-range! "parameter.outer" @_start @_end))) + +(array_expression + (_) @parameter.inner) + +; first element, with or without comma +((array_expression + . + (_) @_start + . + ","? @_end) + (#make-range! "parameter.outer" @_start @_end)) + +; second to last element (with leading comma) +((array_expression + "," @_start + . + (_) @_end) + (#make-range! "parameter.outer" @_start @_end)) + +; last element, with trailing comma +((array_expression + (_) @_start + . + "," @_end .) + (#make-range! "parameter.outer" @_start @_end)) + [ (integer_literal) (float_literal)