Skip to content

Commit 0f051e9

Browse files
committed
feat(rust): array_expression as @parameter, fix trailing comma at last
1 parent 15f945e commit 0f051e9

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

queries/rust/textobjects.scm

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,13 @@
226226
","? @_end)
227227
(#make-range! "parameter.outer" @parameter.inner @_end))
228228

229+
; last element, with trailing comma
230+
((parameters
231+
(self_parameter) @_start
232+
.
233+
"," @_end .)
234+
(#make-range! "parameter.outer" @_start @_end))
235+
229236
((parameters
230237
"," @_start
231238
.
@@ -239,6 +246,13 @@
239246
","? @_end)
240247
(#make-range! "parameter.outer" @parameter.inner @_end))
241248

249+
; last element, with trailing comma
250+
((parameters
251+
(parameter) @_start
252+
.
253+
"," @_end .)
254+
(#make-range! "parameter.outer" @_start @_end))
255+
242256
((parameters
243257
"," @_start
244258
.
@@ -252,6 +266,13 @@
252266
","? @_end)
253267
(#make-range! "parameter.outer" @parameter.inner @_end))
254268

269+
; last element, with trailing comma
270+
((parameters
271+
(type_identifier) @_start
272+
.
273+
"," @_end .)
274+
(#make-range! "parameter.outer" @_start @_end))
275+
255276
((type_parameters
256277
"," @_start
257278
.
@@ -265,6 +286,13 @@
265286
","? @_end)
266287
(#make-range! "parameter.outer" @parameter.inner @_end))
267288

289+
; last element, with trailing comma
290+
((type_parameters
291+
(_) @_start
292+
.
293+
"," @_end .)
294+
(#make-range! "parameter.outer" @_start @_end))
295+
268296
((tuple_pattern
269297
"," @_start
270298
.
@@ -278,6 +306,13 @@
278306
","? @_end)
279307
(#make-range! "parameter.outer" @parameter.inner @_end))
280308

309+
; last element, with trailing comma
310+
((tuple_pattern
311+
(_) @_start
312+
.
313+
"," @_end .)
314+
(#make-range! "parameter.outer" @_start @_end))
315+
281316
((tuple_struct_pattern
282317
"," @_start
283318
.
@@ -291,6 +326,13 @@
291326
","? @_end)
292327
(#make-range! "parameter.outer" @parameter.inner @_end))
293328

329+
; last element, with trailing comma
330+
((tuple_struct_pattern
331+
(_) @_start
332+
.
333+
"," @_end .)
334+
(#make-range! "parameter.outer" @_start @_end))
335+
294336
(tuple_expression
295337
"," @_start
296338
.
@@ -304,6 +346,13 @@
304346
","? @_end
305347
(#make-range! "parameter.outer" @parameter.inner @_end))
306348

349+
; last element, with trailing comma
350+
((tuple_expression
351+
(_) @_start
352+
.
353+
"," @_end .)
354+
(#make-range! "parameter.outer" @_start @_end))
355+
307356
((tuple_type
308357
"," @_start
309358
.
@@ -317,6 +366,13 @@
317366
","? @_end)
318367
(#make-range! "parameter.outer" @parameter.inner @_end))
319368

369+
; last element, with trailing comma
370+
((tuple_type
371+
(_) @_start
372+
.
373+
"," @_end .)
374+
(#make-range! "parameter.outer" @_start @_end))
375+
320376
(struct_item
321377
body: (field_declaration_list
322378
"," @_start
@@ -332,6 +388,15 @@
332388
","? @_end
333389
(#make-range! "parameter.outer" @parameter.inner @_end)))
334390

391+
; last element, with trailing comma
392+
(struct_item
393+
body: (field_declaration_list
394+
(_) @_start
395+
.
396+
"," @_end
397+
.
398+
(#make-range! "parameter.outer" @_start @_end)))
399+
335400
(struct_expression
336401
body: (field_initializer_list
337402
"," @_start
@@ -347,6 +412,15 @@
347412
","? @_end
348413
(#make-range! "parameter.outer" @parameter.inner @_end)))
349414

415+
; last element, with trailing comma
416+
(struct_expression
417+
body: (field_initializer_list
418+
(_) @_start
419+
.
420+
"," @_end
421+
.
422+
(#make-range! "parameter.outer" @_start @_end)))
423+
350424
((closure_parameters
351425
"," @_start
352426
.
@@ -360,6 +434,13 @@
360434
","? @_end)
361435
(#make-range! "parameter.outer" @parameter.inner @_end))
362436

437+
; last element, with trailing comma
438+
((closure_parameters
439+
(_) @_start
440+
.
441+
"," @_end .)
442+
(#make-range! "parameter.outer" @_start @_end))
443+
363444
((arguments
364445
"," @_start
365446
.
@@ -373,6 +454,13 @@
373454
","? @_end)
374455
(#make-range! "parameter.outer" @parameter.inner @_end))
375456

457+
; last element, with trailing comma
458+
((arguments
459+
(_) @_start
460+
.
461+
"," @_end .)
462+
(#make-range! "parameter.outer" @_start @_end))
463+
376464
((type_arguments
377465
"," @_start
378466
.
@@ -386,6 +474,13 @@
386474
","? @_end)
387475
(#make-range! "parameter.outer" @parameter.inner @_end))
388476

477+
; last element, with trailing comma
478+
((type_arguments
479+
(_) @_start
480+
.
481+
"," @_end .)
482+
(#make-range! "parameter.outer" @_start @_end))
483+
389484
((token_tree
390485
"," @_start
391486
.
@@ -399,6 +494,13 @@
399494
","? @_end)
400495
(#make-range! "parameter.outer" @parameter.inner @_end))
401496

497+
; last element, with trailing comma
498+
((token_tree
499+
(_) @_start
500+
.
501+
"," @_end .)
502+
(#make-range! "parameter.outer" @_start @_end))
503+
402504
(scoped_use_list
403505
list: (use_list
404506
"," @_start
@@ -414,6 +516,40 @@
414516
","? @_end
415517
(#make-range! "parameter.outer" @parameter.inner @_end)))
416518

519+
; last element, with trailing comma
520+
(scoped_use_list
521+
list: (use_list
522+
(_) @_start
523+
.
524+
"," @_end
525+
.
526+
(#make-range! "parameter.outer" @_start @_end)))
527+
528+
(array_expression
529+
(_) @parameter.inner)
530+
531+
; first element, with or without comma
532+
((array_expression
533+
.
534+
(_) @_start
535+
.
536+
","? @_end)
537+
(#make-range! "parameter.outer" @_start @_end))
538+
539+
; second to last element (with leading comma)
540+
((array_expression
541+
"," @_start
542+
.
543+
(_) @_end)
544+
(#make-range! "parameter.outer" @_start @_end))
545+
546+
; last element, with trailing comma
547+
((array_expression
548+
(_) @_start
549+
.
550+
"," @_end .)
551+
(#make-range! "parameter.outer" @_start @_end))
552+
417553
[
418554
(integer_literal)
419555
(float_literal)

0 commit comments

Comments
 (0)