Skip to content

Commit 4f8608f

Browse files
authored
feat: queries from master to main (#820)
There are some queries updated for master branch only and not on main. Thus I added a few changes to the main. Note that anything with `#make-range` won't work on `main` thus they need adaptation. I put "partially" in such cases. - [x] css - [x] ecma - [x] enforce - [x] go (change not needed for main) - [x] java - [x] jsx - [x] kotlin - [x] lua - [x] ocaml - [x] rust - [x] svelte - [x] toml - [x] typescript - [x] verilog ``` File main (date) master (date) Newer queries/apex/textobjects.scm 2024-09-27 02:43:04 2024-09-08 17:22:38 main queries/astro/textobjects.scm 2023-11-08 01:14:11 2023-11-08 01:14:11 same queries/bash/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/bibtex/textobjects.scm 2021-04-11 03:54:24 2021-04-11 03:54:24 same queries/c_sharp/textobjects.scm 2024-09-27 02:43:04 2024-08-02 08:52:05 main queries/c/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/cmake/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/cpp/textobjects.scm 2024-09-27 02:43:04 2024-04-14 00:41:53 main queries/css/textobjects.scm 2024-09-27 02:43:04 2025-05-07 10:11:32 master queries/cuda/textobjects.scm 2021-06-25 15:10:03 2021-06-25 15:10:03 same queries/dart/textobjects.scm 2024-09-27 02:43:04 2024-04-14 00:41:53 main queries/dockerfile/textobjects.scm 2023-01-26 04:32:25 2023-01-26 04:32:25 same queries/ecma/textobjects.scm 2024-09-27 02:43:04 2025-05-21 11:34:58 master queries/elixir/textobjects.scm 2024-09-27 02:43:04 2024-08-02 15:24:05 main queries/elm/textobjects.scm 2024-09-27 02:43:04 2024-04-14 00:41:53 main queries/enforce/textobjects.scm N/A 2025-05-13 15:23:53 master queries/fennel/textobjects.scm 2024-09-27 02:43:04 2024-05-10 02:48:29 main queries/fish/textobjects.scm 2025-06-29 01:42:39 2024-04-04 15:46:59 main queries/foam/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/gdscript/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/glimmer/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/glsl/textobjects.scm 2021-10-02 18:10:07 2021-10-02 18:10:07 same queries/go/textobjects.scm 2024-09-27 02:43:04 2024-09-27 11:40:01 master queries/hack/textobjects.scm 2022-07-09 06:35:39 2022-07-09 06:35:39 same queries/haskell/textobjects.scm 2024-09-27 02:43:04 2024-08-04 19:57:46 main queries/hcl/textobjects.scm 2024-09-27 02:43:04 2024-04-12 14:22:16 main queries/heex/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/hlsl/textobjects.scm 2023-08-18 06:06:25 2023-08-18 06:06:25 same queries/html/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/inko/textobjects.scm 2024-09-27 02:43:04 2024-05-23 09:19:04 main queries/java/textobjects.scm 2024-09-27 02:43:04 2025-07-29 23:02:00 master queries/javascript/textobjects.scm 2022-08-31 06:18:58 2022-08-31 06:18:58 same queries/jsx/textobjects.scm 2024-04-04 15:46:59 2025-04-15 10:47:23 master queries/julia/textobjects.scm 2025-06-29 01:42:39 2024-11-22 16:36:33 main queries/kotlin/textobjects.scm 2024-04-04 15:46:59 2025-04-06 22:21:53 master queries/latex/textobjects.scm 2024-09-27 02:43:04 2024-08-05 01:24:29 main queries/lua/textobjects.scm 2024-09-27 02:43:04 2025-03-01 00:45:15 master queries/markdown/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/matlab/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/nasm/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/nim/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/nix/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/ocaml/textobjects.scm N/A 2025-03-08 09:49:01 master queries/odin/textobjects.scm 2025-06-29 01:42:39 2024-06-05 22:22:10 main queries/perl/textobjects.scm 2023-10-22 07:56:55 2023-10-22 07:56:55 same queries/php_only/textobjects.scm 2024-04-08 04:12:54 2024-04-08 04:12:54 same queries/php/textobjects.scm 2024-09-27 02:43:04 2024-08-20 14:48:58 main queries/python/textobjects.scm 2025-06-29 01:42:39 2024-08-07 20:10:58 main queries/ql/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/query/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/r/textobjects.scm 2024-09-27 02:43:04 2024-08-01 22:03:45 main queries/readline/textobjects.scm 2024-02-17 03:46:03 2024-02-17 03:46:03 same queries/rst/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/ruby/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/rust/textobjects.scm 2024-09-27 02:43:04 2025-05-23 12:45:22 master queries/scala/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/scss/textobjects.scm 2023-01-26 04:32:25 2023-01-26 04:32:25 same queries/slang/textobjects.scm 2024-04-14 00:41:53 2024-04-14 00:41:53 same queries/supercollider/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/svelte/textobjects.scm N/A 2025-03-04 09:40:19 master queries/swift/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/tact/textobjects.scm 2024-09-27 02:43:04 2024-08-02 00:09:16 main queries/terraform/textobjects.scm 2024-04-12 14:24:19 2024-04-12 14:24:19 same queries/toml/textobjects.scm 2024-09-27 02:43:04 2025-04-27 12:50:05 master queries/tsx/textobjects.scm 2020-10-10 02:21:46 2020-10-10 02:21:46 same queries/twig/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/typescript/textobjects.scm 2024-09-27 02:43:04 2025-06-14 18:43:27 master queries/v/textobjects.scm 2025-06-29 01:42:39 2024-04-04 15:46:59 main queries/verilog/textobjects.scm 2024-04-04 15:46:59 2024-10-16 18:02:33 master queries/vim/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/vue/textobjects.scm 2024-04-04 15:46:59 2024-04-04 15:46:59 same queries/wgsl_bevy/textobjects.scm 2022-12-31 23:23:07 2022-12-31 23:23:07 same queries/wgsl/textobjects.scm 2024-09-27 02:43:04 2024-04-04 15:46:59 main queries/yaml/textobjects.scm 2025-06-29 01:42:39 2024-04-04 15:46:59 main queries/zig/textobjects.scm 2025-10-31 08:53:53 2024-08-30 14:07:39 main ```
1 parent ba5d1f6 commit 4f8608f

File tree

14 files changed

+1013
-40
lines changed

14 files changed

+1013
-40
lines changed

queries/css/textobjects.scm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@
1313

1414
(declaration
1515
(property_name) @assignment.inner)
16+
17+
(comment) @comment.outer

queries/ecma/textobjects.scm

Lines changed: 179 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
(function_declaration
22
body: (statement_block)) @function.outer
33

4+
(generator_function_declaration
5+
body: (statement_block)) @function.outer
6+
47
(function_expression
58
body: (statement_block)) @function.outer
69

@@ -11,6 +14,13 @@
1114
_+ @function.inner
1215
"}"))
1316

17+
(generator_function_declaration
18+
body: (statement_block
19+
.
20+
"{"
21+
_+ @function.inner
22+
"}"))
23+
1424
(function_expression
1525
body: (statement_block
1626
.
@@ -42,7 +52,14 @@
4252
"}"))
4353

4454
(class_declaration
45-
body: (class_body) @class.inner) @class.outer
55+
body: (class_body)) @class.outer
56+
57+
(class_declaration
58+
body: (class_body
59+
.
60+
"{"
61+
_+ @class.inner
62+
"}"))
4663

4764
(export_statement
4865
(class_declaration)) @class.outer
@@ -131,6 +148,12 @@
131148
.
132149
","? @parameter.outer)
133150

151+
; last element with trailing comma
152+
(formal_parameters
153+
(_) @parameter.outer
154+
.
155+
"," @parameter.outer .)
156+
134157
; If the array/object pattern is the first parameter, treat its elements as the argument list
135158
(formal_parameters
136159
.
@@ -162,6 +185,21 @@
162185
","? @parameter.outer)
163186
]))
164187

188+
; last element with trailing comma
189+
(formal_parameters
190+
.
191+
(_
192+
[
193+
(object_pattern
194+
(_) @parameter.outer
195+
.
196+
"," @parameter.outer .)
197+
(array_pattern
198+
(_) @parameter.outer
199+
.
200+
"," @parameter.outer .)
201+
]))
202+
165203
; arguments
166204
(arguments
167205
"," @parameter.outer
@@ -174,6 +212,12 @@
174212
.
175213
","? @parameter.outer)
176214

215+
; last element with trailing comma
216+
(arguments
217+
(_) @parameter.outer
218+
.
219+
"," @parameter.outer .)
220+
177221
; comment
178222
(comment) @comment.outer
179223

@@ -184,9 +228,10 @@
184228
; number
185229
(number) @number.inner
186230

187-
(variable_declarator
188-
name: (_) @assignment.lhs
189-
value: (_) @assignment.inner @assignment.rhs) @assignment.outer
231+
(lexical_declaration
232+
(variable_declarator
233+
name: (_) @assignment.lhs
234+
value: (_) @assignment.inner @assignment.rhs)) @assignment.outer
190235

191236
(variable_declarator
192237
name: (_) @assignment.inner)
@@ -195,3 +240,133 @@
195240
(pair
196241
key: (_) @assignment.lhs
197242
value: (_) @assignment.inner @assignment.rhs) @assignment.outer)
243+
244+
(return_statement
245+
(_) @return.inner) @return.outer
246+
247+
(return_statement) @statement.outer
248+
249+
[
250+
(if_statement)
251+
(expression_statement)
252+
(for_statement)
253+
(while_statement)
254+
(do_statement)
255+
(for_in_statement)
256+
(export_statement)
257+
(lexical_declaration)
258+
] @statement.outer
259+
260+
; 1. default import
261+
(import_statement
262+
(import_clause
263+
(identifier) @parameter.inner @parameter.outer))
264+
265+
; 2. namespace import e.g. `* as React`
266+
(import_statement
267+
(import_clause
268+
(namespace_import
269+
(identifier) @parameter.inner) @parameter.outer))
270+
271+
; 3. named import e.g. `import { Bar, Baz } from ...`
272+
(import_statement
273+
(import_clause
274+
(named_imports
275+
(import_specifier) @parameter.inner)))
276+
277+
; 3‑A. named import followed by a comma
278+
(import_statement
279+
(import_clause
280+
(named_imports
281+
(import_specifier) @parameter.outer
282+
.
283+
"," @parameter.outer)))
284+
285+
; 3‑B. comma followed by named import
286+
(import_statement
287+
(import_clause
288+
(named_imports
289+
"," @parameter.outer
290+
.
291+
(import_specifier) @parameter.outer)))
292+
293+
; 3-C. only one named import without a comma
294+
(import_statement
295+
(import_clause
296+
(named_imports
297+
.
298+
(import_specifier) @parameter.outer .)))
299+
300+
; Treat list or object elements as @parameter
301+
; 1. parameter.inner
302+
(object
303+
(_) @parameter.inner)
304+
305+
(array
306+
(_) @parameter.inner)
307+
308+
(object_pattern
309+
(_) @parameter.inner)
310+
311+
(array_pattern
312+
(_) @parameter.inner)
313+
314+
; 2. parameter.outer: Only one element, no comma
315+
(object
316+
.
317+
(_) @parameter.outer .)
318+
319+
(array
320+
.
321+
(_) @parameter.outer .)
322+
323+
(object_pattern
324+
.
325+
(_) @parameter.outer .)
326+
327+
(array_pattern
328+
.
329+
(_) @parameter.outer .)
330+
331+
; 3. parameter.outer: Comma before or after
332+
[
333+
(object
334+
"," @parameter.outer
335+
.
336+
(_) @parameter.outer)
337+
(array
338+
"," @parameter.outer
339+
.
340+
(_) @parameter.outer)
341+
(object_pattern
342+
"," @parameter.outer
343+
.
344+
(_) @parameter.outer)
345+
(array_pattern
346+
"," @parameter.outer
347+
.
348+
(_) @parameter.outer)
349+
]
350+
351+
[
352+
(object
353+
.
354+
(_) @parameter.outer
355+
.
356+
"," @parameter.outer)
357+
(array
358+
.
359+
(_) @parameter.outer
360+
.
361+
"," @parameter.outer)
362+
(object_pattern
363+
.
364+
(_) @parameter.outer
365+
.
366+
"," @parameter.outer)
367+
(array_pattern
368+
.
369+
(_) @parameter.outer
370+
.
371+
"," @parameter.outer)
372+
]

queries/enforce/textobjects.scm

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
[
2+
(comment_line)
3+
(comment_block)
4+
(doc_line)
5+
(doc_block)
6+
] @comment.outer
7+
8+
[
9+
(literal_int)
10+
(literal_float)
11+
] @number.inner
12+
13+
; TODO: capture inside braces
14+
(decl_class
15+
body: (_) @class.inner) @class.outer
16+
17+
(decl_method
18+
body: (_) @function.inner) @function.outer
19+
20+
(for
21+
body: (_) @loop.inner) @loop.outer
22+
23+
(while
24+
body: (_) @loop.inner) @loop.outer
25+
26+
(return
27+
(_)? @return.inner) @return.outer
28+
29+
; blocks
30+
(block) @block.outer
31+
32+
(invokation) @call.outer
33+
34+
(formal_parameters
35+
"," @parameter.outer
36+
.
37+
(formal_parameter) @parameter.inner @parameter.outer)
38+
39+
(formal_parameters
40+
.
41+
(formal_parameter) @parameter.inner @parameter.outer
42+
.
43+
","? @parameter.outer)
44+
45+
(actual_parameters
46+
"," @parameter.outer
47+
.
48+
(actual_parameter) @parameter.inner @parameter.outer)
49+
50+
(actual_parameters
51+
.
52+
(actual_parameter) @parameter.inner @parameter.outer
53+
.
54+
","? @parameter.outer)

queries/java/textobjects.scm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
_+ @function.inner
2020
"}"))
2121

22+
(return_statement
23+
(_)? @return.inner) @return.outer
24+
2225
(for_statement
2326
body: (_)? @loop.inner) @loop.outer
2427

queries/jsx/textobjects.scm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
; inherits: ecma
22

3+
(jsx_attribute) @attribute.outer
4+
35
(jsx_attribute
46
(property_identifier)
5-
(_) @parameter.inner) @parameter.outer
7+
(_
8+
(_) @attribute.inner))

queries/kotlin/textobjects.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[
33
(class_body)
44
(enum_class_body)
5-
] @class.inner) @class.outer
5+
]? @class.inner) @class.outer
66

77
[
88
(function_declaration

queries/lua/textobjects.scm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
; class
2020
; comment
21-
(comment) @comment.outer
21+
(comment
22+
(comment_content) @comment.inner) @comment.outer
2223

2324
; conditional
2425
(if_statement
@@ -103,3 +104,6 @@
103104

104105
; scopename
105106
; statement
107+
(statement) @statement.outer
108+
109+
(return_statement) @statement.outer

queries/ocaml/textobjects.scm

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
(value_definition
2+
(let_binding
3+
body: (_) @function.inner)) @function.outer
4+
5+
(method_definition
6+
body: (_) @function.inner) @function.outer
7+
8+
(class_definition
9+
(class_binding
10+
body: (_) @class.inner)) @class.outer
11+
12+
(for_expression
13+
(do_clause
14+
(_) @loop.inner)) @loop.outer
15+
16+
(while_expression
17+
(do_clause
18+
(_) @loop.inner)) @loop.outer
19+
20+
(if_expression
21+
condition: (_)
22+
(then_clause
23+
(_) @conditional.inner)
24+
(else_clause
25+
(_) @conditional.inner)) @conditional.outer
26+
27+
(if_expression
28+
condition: (_)
29+
(then_clause
30+
(_) @conditional.inner)) @conditional.outer
31+
32+
(function_expression
33+
(match_case)+ @conditional.inner) @conditional.outer
34+
35+
(match_expression
36+
(match_case)+ @conditional.inner) @conditional.outer
37+
38+
(comment) @comment.outer
39+
40+
(parameter) @parameter.outer
41+
42+
(application_expression
43+
argument: (_) @parameter.outer) @call.outer
44+
45+
(application_expression
46+
argument: (_)+ @call.inner)
47+
48+
(parenthesized_expression
49+
_+ @block.inner) @block.outer

0 commit comments

Comments
 (0)