ast-grep-cli 0.26.0__tar.gz → 0.26.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/Cargo.lock +123 -103
  2. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/Cargo.toml +6 -6
  3. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/PKG-INFO +1 -1
  4. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/Cargo.toml +1 -1
  5. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/meta_var.rs +16 -0
  6. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/pinned.rs +6 -2
  7. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/lsp/src/lib.rs +24 -3
  8. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/lsp/src/utils.rs +1 -24
  9. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/pyproject.toml +1 -1
  10. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/LICENSE +0 -0
  11. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/README.md +0 -0
  12. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/bin/ast-grep.rs +0 -0
  13. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/completions.rs +0 -0
  14. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/config.rs +0 -0
  15. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/debug.rs +0 -0
  16. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/error.rs +0 -0
  17. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lang/custom_lang.rs +0 -0
  18. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lang/injection.rs +0 -0
  19. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lang/lang_globs.rs +0 -0
  20. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lang.rs +0 -0
  21. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lib.rs +0 -0
  22. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/lsp.rs +0 -0
  23. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/main.rs +0 -0
  24. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/new.rs +0 -0
  25. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/cloud_print.rs +0 -0
  26. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/colored_print/test.rs +0 -0
  27. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/colored_print.rs +0 -0
  28. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/interactive_print.rs +0 -0
  29. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/json_print.rs +0 -0
  30. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/print/mod.rs +0 -0
  31. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/run.rs +0 -0
  32. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/scan.rs +0 -0
  33. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/utils.rs +0 -0
  34. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/case_result.rs +0 -0
  35. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/find_file.rs +0 -0
  36. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/mod.rs +0 -0
  37. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/reporter.rs +0 -0
  38. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/snapshot.rs +0 -0
  39. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/src/verify/test_case.rs +0 -0
  40. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/tests/common/mod.rs +0 -0
  41. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/tests/run_test.rs +0 -0
  42. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/tests/scan_test.rs +0 -0
  43. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/cli/tests/verify_test.rs +0 -0
  44. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/Cargo.toml +0 -0
  45. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/check_var.rs +0 -0
  46. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/combined.rs +0 -0
  47. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/fixer.rs +0 -0
  48. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/lib.rs +0 -0
  49. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/maybe.rs +0 -0
  50. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/deserialize_env.rs +0 -0
  51. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/mod.rs +0 -0
  52. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/nth_child.rs +0 -0
  53. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/referent_rule.rs +0 -0
  54. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/relational_rule.rs +0 -0
  55. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule/stop_by.rs +0 -0
  56. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule_collection.rs +0 -0
  57. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule_config.rs +0 -0
  58. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/rule_core.rs +0 -0
  59. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/transform/mod.rs +0 -0
  60. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/transform/rewrite.rs +0 -0
  61. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/transform/string_case.rs +0 -0
  62. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/config/src/transform/transformation.rs +0 -0
  63. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/Cargo.toml +0 -0
  64. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/language.rs +0 -0
  65. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/lib.rs +0 -0
  66. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/match_tree/match_node.rs +0 -0
  67. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/match_tree/mod.rs +0 -0
  68. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/match_tree/strictness.rs +0 -0
  69. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/matcher/kind.rs +0 -0
  70. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/matcher/node_match.rs +0 -0
  71. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/matcher/pattern.rs +0 -0
  72. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/matcher/text.rs +0 -0
  73. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/matcher.rs +0 -0
  74. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/node.rs +0 -0
  75. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/ops.rs +0 -0
  76. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/replacer/indent.rs +0 -0
  77. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/replacer/structural.rs +0 -0
  78. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/replacer/template.rs +0 -0
  79. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/replacer.rs +0 -0
  80. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/source.rs +0 -0
  81. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/core/src/traversal.rs +0 -0
  82. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/dynamic/Cargo.toml +0 -0
  83. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/dynamic/src/lib.rs +0 -0
  84. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/Cargo.toml +0 -0
  85. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/bash.rs +0 -0
  86. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/cpp.rs +0 -0
  87. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/csharp.rs +0 -0
  88. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/css.rs +0 -0
  89. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/elixir.rs +0 -0
  90. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/go.rs +0 -0
  91. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/haskell.rs +0 -0
  92. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/html.rs +0 -0
  93. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/json.rs +0 -0
  94. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/kotlin.rs +0 -0
  95. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/lib.rs +0 -0
  96. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/lua.rs +0 -0
  97. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/parsers.rs +0 -0
  98. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/php.rs +0 -0
  99. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/python.rs +0 -0
  100. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/ruby.rs +0 -0
  101. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/rust.rs +0 -0
  102. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/scala.rs +0 -0
  103. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/language/src/swift.rs +0 -0
  104. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/lsp/Cargo.toml +0 -0
  105. {ast_grep_cli-0.26.0 → ast_grep_cli-0.26.2}/crates/lsp/tests/basic.rs +0 -0
@@ -58,9 +58,9 @@ dependencies = [
58
58
 
59
59
  [[package]]
60
60
  name = "anstyle"
61
- version = "1.0.7"
61
+ version = "1.0.8"
62
62
  source = "registry+https://github.com/rust-lang/crates.io-index"
63
- checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
63
+ checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
64
64
 
65
65
  [[package]]
66
66
  name = "anstyle-parse"
@@ -98,13 +98,14 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
98
98
 
99
99
  [[package]]
100
100
  name = "assert_cmd"
101
- version = "2.0.15"
101
+ version = "2.0.16"
102
102
  source = "registry+https://github.com/rust-lang/crates.io-index"
103
- checksum = "bc65048dd435533bb1baf2ed9956b9a278fbfdcf90301b39ee117f06c0199d37"
103
+ checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d"
104
104
  dependencies = [
105
105
  "anstyle",
106
106
  "bstr",
107
107
  "doc-comment",
108
+ "libc",
108
109
  "predicates",
109
110
  "predicates-core",
110
111
  "predicates-tree",
@@ -113,7 +114,7 @@ dependencies = [
113
114
 
114
115
  [[package]]
115
116
  name = "ast-grep"
116
- version = "0.26.0"
117
+ version = "0.26.2"
117
118
  dependencies = [
118
119
  "ansi_term",
119
120
  "anyhow",
@@ -127,7 +128,7 @@ dependencies = [
127
128
  "clap",
128
129
  "clap_complete",
129
130
  "codespan-reporting",
130
- "crossterm 0.27.0",
131
+ "crossterm 0.28.1",
131
132
  "ignore",
132
133
  "inquire",
133
134
  "num_cpus",
@@ -144,7 +145,7 @@ dependencies = [
144
145
 
145
146
  [[package]]
146
147
  name = "ast-grep-config"
147
- version = "0.26.0"
148
+ version = "0.26.2"
148
149
  dependencies = [
149
150
  "anyhow",
150
151
  "ast-grep-core",
@@ -160,7 +161,7 @@ dependencies = [
160
161
 
161
162
  [[package]]
162
163
  name = "ast-grep-core"
163
- version = "0.26.0"
164
+ version = "0.26.2"
164
165
  dependencies = [
165
166
  "bit-set",
166
167
  "regex",
@@ -171,7 +172,7 @@ dependencies = [
171
172
 
172
173
  [[package]]
173
174
  name = "ast-grep-dynamic"
174
- version = "0.26.0"
175
+ version = "0.26.2"
175
176
  dependencies = [
176
177
  "ast-grep-core",
177
178
  "ignore",
@@ -183,7 +184,7 @@ dependencies = [
183
184
 
184
185
  [[package]]
185
186
  name = "ast-grep-language"
186
- version = "0.26.0"
187
+ version = "0.26.2"
187
188
  dependencies = [
188
189
  "ast-grep-core",
189
190
  "ignore",
@@ -215,7 +216,7 @@ dependencies = [
215
216
 
216
217
  [[package]]
217
218
  name = "ast-grep-lsp"
218
- version = "0.26.0"
219
+ version = "0.26.2"
219
220
  dependencies = [
220
221
  "ast-grep-config",
221
222
  "ast-grep-core",
@@ -229,7 +230,7 @@ dependencies = [
229
230
 
230
231
  [[package]]
231
232
  name = "ast-grep-napi"
232
- version = "0.26.0"
233
+ version = "0.26.2"
233
234
  dependencies = [
234
235
  "ast-grep-config",
235
236
  "ast-grep-core",
@@ -248,14 +249,16 @@ dependencies = [
248
249
 
249
250
  [[package]]
250
251
  name = "ast-grep-py"
251
- version = "0.26.0"
252
+ version = "0.26.2"
252
253
  dependencies = [
253
254
  "anyhow",
254
255
  "ast-grep-config",
255
256
  "ast-grep-core",
257
+ "ast-grep-dynamic",
256
258
  "ast-grep-language",
257
259
  "pyo3",
258
260
  "pythonize",
261
+ "serde",
259
262
  ]
260
263
 
261
264
  [[package]]
@@ -314,7 +317,7 @@ dependencies = [
314
317
 
315
318
  [[package]]
316
319
  name = "benches"
317
- version = "0.26.0"
320
+ version = "0.26.2"
318
321
  dependencies = [
319
322
  "ast-grep-config",
320
323
  "ast-grep-core",
@@ -425,9 +428,9 @@ dependencies = [
425
428
 
426
429
  [[package]]
427
430
  name = "clap"
428
- version = "4.5.13"
431
+ version = "4.5.16"
429
432
  source = "registry+https://github.com/rust-lang/crates.io-index"
430
- checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc"
433
+ checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019"
431
434
  dependencies = [
432
435
  "clap_builder",
433
436
  "clap_derive",
@@ -435,9 +438,9 @@ dependencies = [
435
438
 
436
439
  [[package]]
437
440
  name = "clap_builder"
438
- version = "4.5.13"
441
+ version = "4.5.15"
439
442
  source = "registry+https://github.com/rust-lang/crates.io-index"
440
- checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99"
443
+ checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
441
444
  dependencies = [
442
445
  "anstream",
443
446
  "anstyle",
@@ -447,9 +450,9 @@ dependencies = [
447
450
 
448
451
  [[package]]
449
452
  name = "clap_complete"
450
- version = "4.5.12"
453
+ version = "4.5.18"
451
454
  source = "registry+https://github.com/rust-lang/crates.io-index"
452
- checksum = "a8670053e87c316345e384ca1f3eba3006fc6355ed8b8a1140d104e109e3df34"
455
+ checksum = "1ee158892bd7ce77aa15c208abbdb73e155d191c287a659b57abd5adb92feb03"
453
456
  dependencies = [
454
457
  "clap",
455
458
  ]
@@ -460,7 +463,7 @@ version = "4.5.13"
460
463
  source = "registry+https://github.com/rust-lang/crates.io-index"
461
464
  checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
462
465
  dependencies = [
463
- "heck 0.5.0",
466
+ "heck",
464
467
  "proc-macro2",
465
468
  "quote",
466
469
  "syn",
@@ -567,7 +570,7 @@ dependencies = [
567
570
  "bitflags 1.3.2",
568
571
  "crossterm_winapi",
569
572
  "libc",
570
- "mio",
573
+ "mio 0.8.11",
571
574
  "parking_lot",
572
575
  "signal-hook",
573
576
  "signal-hook-mio",
@@ -576,15 +579,15 @@ dependencies = [
576
579
 
577
580
  [[package]]
578
581
  name = "crossterm"
579
- version = "0.27.0"
582
+ version = "0.28.1"
580
583
  source = "registry+https://github.com/rust-lang/crates.io-index"
581
- checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
584
+ checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"
582
585
  dependencies = [
583
586
  "bitflags 2.5.0",
584
587
  "crossterm_winapi",
585
- "libc",
586
- "mio",
588
+ "mio 1.0.1",
587
589
  "parking_lot",
590
+ "rustix",
588
591
  "signal-hook",
589
592
  "signal-hook-mio",
590
593
  "winapi",
@@ -822,12 +825,6 @@ version = "0.14.5"
822
825
  source = "registry+https://github.com/rust-lang/crates.io-index"
823
826
  checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
824
827
 
825
- [[package]]
826
- name = "heck"
827
- version = "0.4.1"
828
- source = "registry+https://github.com/rust-lang/crates.io-index"
829
- checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
830
-
831
828
  [[package]]
832
829
  name = "heck"
833
830
  version = "0.5.0"
@@ -1042,11 +1039,24 @@ dependencies = [
1042
1039
  "windows-sys 0.48.0",
1043
1040
  ]
1044
1041
 
1042
+ [[package]]
1043
+ name = "mio"
1044
+ version = "1.0.1"
1045
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1046
+ checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4"
1047
+ dependencies = [
1048
+ "hermit-abi 0.3.9",
1049
+ "libc",
1050
+ "log",
1051
+ "wasi",
1052
+ "windows-sys 0.52.0",
1053
+ ]
1054
+
1045
1055
  [[package]]
1046
1056
  name = "napi"
1047
- version = "2.16.8"
1057
+ version = "2.16.9"
1048
1058
  source = "registry+https://github.com/rust-lang/crates.io-index"
1049
- checksum = "a1bd081bbaef43600fd2c5dd4c525b8ecea7dfdacf40ebc674e87851dce6559e"
1059
+ checksum = "1277600d452e570cc83cf5f4e8efb389cc21e5cbefadcfba7239f4551e2e3e99"
1050
1060
  dependencies = [
1051
1061
  "anyhow",
1052
1062
  "bitflags 2.5.0",
@@ -1066,9 +1076,9 @@ checksum = "e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a"
1066
1076
 
1067
1077
  [[package]]
1068
1078
  name = "napi-derive"
1069
- version = "2.16.10"
1079
+ version = "2.16.11"
1070
1080
  source = "registry+https://github.com/rust-lang/crates.io-index"
1071
- checksum = "b13934cae1f98599ae96d461d14ce3a9199215de1e9a9a201b64b118b3dfa329"
1081
+ checksum = "150d87c4440b9f4815cb454918db498b5aae9a57aa743d20783fe75381181d01"
1072
1082
  dependencies = [
1073
1083
  "cfg-if",
1074
1084
  "convert_case",
@@ -1080,9 +1090,9 @@ dependencies = [
1080
1090
 
1081
1091
  [[package]]
1082
1092
  name = "napi-derive-backend"
1083
- version = "1.0.72"
1093
+ version = "1.0.73"
1084
1094
  source = "registry+https://github.com/rust-lang/crates.io-index"
1085
- checksum = "632d41c6057955f455824a7585ce19bc69b2c83472d16581e8f0175fcf4759b7"
1095
+ checksum = "0cd81b794fc1d6051acf8c4f3cb4f82833b0621272a232b4ff0cf3df1dbddb61"
1086
1096
  dependencies = [
1087
1097
  "convert_case",
1088
1098
  "once_cell",
@@ -1177,7 +1187,7 @@ dependencies = [
1177
1187
  "libc",
1178
1188
  "redox_syscall",
1179
1189
  "smallvec",
1180
- "windows-targets 0.52.5",
1190
+ "windows-targets 0.52.6",
1181
1191
  ]
1182
1192
 
1183
1193
  [[package]]
@@ -1293,16 +1303,16 @@ dependencies = [
1293
1303
 
1294
1304
  [[package]]
1295
1305
  name = "pyo3"
1296
- version = "0.21.2"
1306
+ version = "0.22.2"
1297
1307
  source = "registry+https://github.com/rust-lang/crates.io-index"
1298
- checksum = "a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8"
1308
+ checksum = "831e8e819a138c36e212f3af3fd9eeffed6bf1510a805af35b0edee5ffa59433"
1299
1309
  dependencies = [
1300
1310
  "anyhow",
1301
1311
  "cfg-if",
1302
1312
  "indoc",
1303
1313
  "libc",
1304
1314
  "memoffset",
1305
- "parking_lot",
1315
+ "once_cell",
1306
1316
  "portable-atomic",
1307
1317
  "pyo3-build-config",
1308
1318
  "pyo3-ffi",
@@ -1312,9 +1322,9 @@ dependencies = [
1312
1322
 
1313
1323
  [[package]]
1314
1324
  name = "pyo3-build-config"
1315
- version = "0.21.2"
1325
+ version = "0.22.2"
1316
1326
  source = "registry+https://github.com/rust-lang/crates.io-index"
1317
- checksum = "7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50"
1327
+ checksum = "1e8730e591b14492a8945cdff32f089250b05f5accecf74aeddf9e8272ce1fa8"
1318
1328
  dependencies = [
1319
1329
  "once_cell",
1320
1330
  "target-lexicon",
@@ -1322,9 +1332,9 @@ dependencies = [
1322
1332
 
1323
1333
  [[package]]
1324
1334
  name = "pyo3-ffi"
1325
- version = "0.21.2"
1335
+ version = "0.22.2"
1326
1336
  source = "registry+https://github.com/rust-lang/crates.io-index"
1327
- checksum = "01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403"
1337
+ checksum = "5e97e919d2df92eb88ca80a037969f44e5e70356559654962cbb3316d00300c6"
1328
1338
  dependencies = [
1329
1339
  "libc",
1330
1340
  "pyo3-build-config",
@@ -1332,9 +1342,9 @@ dependencies = [
1332
1342
 
1333
1343
  [[package]]
1334
1344
  name = "pyo3-macros"
1335
- version = "0.21.2"
1345
+ version = "0.22.2"
1336
1346
  source = "registry+https://github.com/rust-lang/crates.io-index"
1337
- checksum = "77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c"
1347
+ checksum = "eb57983022ad41f9e683a599f2fd13c3664d7063a3ac5714cae4b7bee7d3f206"
1338
1348
  dependencies = [
1339
1349
  "proc-macro2",
1340
1350
  "pyo3-macros-backend",
@@ -1344,11 +1354,11 @@ dependencies = [
1344
1354
 
1345
1355
  [[package]]
1346
1356
  name = "pyo3-macros-backend"
1347
- version = "0.21.2"
1357
+ version = "0.22.2"
1348
1358
  source = "registry+https://github.com/rust-lang/crates.io-index"
1349
- checksum = "08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c"
1359
+ checksum = "ec480c0c51ddec81019531705acac51bcdbeae563557c982aa8263bb96880372"
1350
1360
  dependencies = [
1351
- "heck 0.4.1",
1361
+ "heck",
1352
1362
  "proc-macro2",
1353
1363
  "pyo3-build-config",
1354
1364
  "quote",
@@ -1357,9 +1367,9 @@ dependencies = [
1357
1367
 
1358
1368
  [[package]]
1359
1369
  name = "pythonize"
1360
- version = "0.21.1"
1370
+ version = "0.22.0"
1361
1371
  source = "registry+https://github.com/rust-lang/crates.io-index"
1362
- checksum = "9d0664248812c38cc55a4ed07f88e4df516ce82604b93b1ffdc041aa77a6cb3c"
1372
+ checksum = "90fcf491425978bd889015d5430f6473d91bdfa2097262f1e731aadcf6c2113e"
1363
1373
  dependencies = [
1364
1374
  "pyo3",
1365
1375
  "serde",
@@ -1504,18 +1514,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
1504
1514
 
1505
1515
  [[package]]
1506
1516
  name = "serde"
1507
- version = "1.0.204"
1517
+ version = "1.0.208"
1508
1518
  source = "registry+https://github.com/rust-lang/crates.io-index"
1509
- checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
1519
+ checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2"
1510
1520
  dependencies = [
1511
1521
  "serde_derive",
1512
1522
  ]
1513
1523
 
1514
1524
  [[package]]
1515
1525
  name = "serde_derive"
1516
- version = "1.0.204"
1526
+ version = "1.0.208"
1517
1527
  source = "registry+https://github.com/rust-lang/crates.io-index"
1518
- checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
1528
+ checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf"
1519
1529
  dependencies = [
1520
1530
  "proc-macro2",
1521
1531
  "quote",
@@ -1535,9 +1545,9 @@ dependencies = [
1535
1545
 
1536
1546
  [[package]]
1537
1547
  name = "serde_json"
1538
- version = "1.0.122"
1548
+ version = "1.0.125"
1539
1549
  source = "registry+https://github.com/rust-lang/crates.io-index"
1540
- checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
1550
+ checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed"
1541
1551
  dependencies = [
1542
1552
  "indexmap",
1543
1553
  "itoa",
@@ -1582,12 +1592,13 @@ dependencies = [
1582
1592
 
1583
1593
  [[package]]
1584
1594
  name = "signal-hook-mio"
1585
- version = "0.2.3"
1595
+ version = "0.2.4"
1586
1596
  source = "registry+https://github.com/rust-lang/crates.io-index"
1587
- checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
1597
+ checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"
1588
1598
  dependencies = [
1589
1599
  "libc",
1590
- "mio",
1600
+ "mio 0.8.11",
1601
+ "mio 1.0.1",
1591
1602
  "signal-hook",
1592
1603
  ]
1593
1604
 
@@ -1646,15 +1657,15 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
1646
1657
 
1647
1658
  [[package]]
1648
1659
  name = "tempfile"
1649
- version = "3.11.0"
1660
+ version = "3.12.0"
1650
1661
  source = "registry+https://github.com/rust-lang/crates.io-index"
1651
- checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53"
1662
+ checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
1652
1663
  dependencies = [
1653
1664
  "cfg-if",
1654
1665
  "fastrand",
1655
1666
  "once_cell",
1656
1667
  "rustix",
1657
- "windows-sys 0.52.0",
1668
+ "windows-sys 0.59.0",
1658
1669
  ]
1659
1670
 
1660
1671
  [[package]]
@@ -1729,9 +1740,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1729
1740
 
1730
1741
  [[package]]
1731
1742
  name = "tokio"
1732
- version = "1.39.2"
1743
+ version = "1.39.3"
1733
1744
  source = "registry+https://github.com/rust-lang/crates.io-index"
1734
- checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1"
1745
+ checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5"
1735
1746
  dependencies = [
1736
1747
  "backtrace",
1737
1748
  "bytes",
@@ -1911,9 +1922,9 @@ dependencies = [
1911
1922
 
1912
1923
  [[package]]
1913
1924
  name = "tree-sitter-css"
1914
- version = "0.21.0"
1925
+ version = "0.21.1"
1915
1926
  source = "registry+https://github.com/rust-lang/crates.io-index"
1916
- checksum = "e2f806f96136762b0121f5fdd7172a3dcd8f42d37a2f23ed7f11b35895e20eb4"
1927
+ checksum = "5e08e324b1cf60fd3291774b49724c66de2ce8fcf4d358d0b4b82e37b41b1c9b"
1917
1928
  dependencies = [
1918
1929
  "cc",
1919
1930
  "tree-sitter",
@@ -1954,9 +1965,9 @@ dependencies = [
1954
1965
 
1955
1966
  [[package]]
1956
1967
  name = "tree-sitter-go"
1957
- version = "0.21.0"
1968
+ version = "0.21.2"
1958
1969
  source = "registry+https://github.com/rust-lang/crates.io-index"
1959
- checksum = "55cb318be5ccf75f44e054acf6898a5c95d59b53443eed578e16be0cd7ec037f"
1970
+ checksum = "b8d702a98d3c7e70e466456e58ff2b1ac550bf1e29b97e5770676d2fdabec00d"
1960
1971
  dependencies = [
1961
1972
  "cc",
1962
1973
  "tree-sitter",
@@ -1974,9 +1985,9 @@ dependencies = [
1974
1985
 
1975
1986
  [[package]]
1976
1987
  name = "tree-sitter-html"
1977
- version = "0.20.3"
1988
+ version = "0.20.4"
1978
1989
  source = "registry+https://github.com/rust-lang/crates.io-index"
1979
- checksum = "95b3492b08a786bf5cc79feb0ef2ff3b115d5174364e0ddfd7860e0b9b088b53"
1990
+ checksum = "8766b5ad3721517f8259e6394aefda9c686aebf7a8c74ab8624f2c3b46902fd5"
1980
1991
  dependencies = [
1981
1992
  "cc",
1982
1993
  "tree-sitter",
@@ -2084,9 +2095,9 @@ dependencies = [
2084
2095
 
2085
2096
  [[package]]
2086
2097
  name = "tree-sitter-scala"
2087
- version = "0.22.0"
2098
+ version = "0.22.1"
2088
2099
  source = "registry+https://github.com/rust-lang/crates.io-index"
2089
- checksum = "22d973244f9ef27347e7c7c5248ecb6ed1de450ae456cadcf7d5315f014a3185"
2100
+ checksum = "a464d8e2e1837cf20b34204c51c369da3483e55c3ea013c6db81a04439e17895"
2090
2101
  dependencies = [
2091
2102
  "cc",
2092
2103
  "tree-sitter",
@@ -2094,9 +2105,9 @@ dependencies = [
2094
2105
 
2095
2106
  [[package]]
2096
2107
  name = "tree-sitter-sequel"
2097
- version = "0.3.3"
2108
+ version = "0.3.5"
2098
2109
  source = "registry+https://github.com/rust-lang/crates.io-index"
2099
- checksum = "da19010218fca3d3261c83ede4c8ed661b6ab379db2a82a959c6c9e861e8848e"
2110
+ checksum = "8e39194c44ad71033d8b09d225c03e154dee9b788c6a113bce7feb809f39480f"
2100
2111
  dependencies = [
2101
2112
  "cc",
2102
2113
  "tree-sitter",
@@ -2343,7 +2354,16 @@ version = "0.52.0"
2343
2354
  source = "registry+https://github.com/rust-lang/crates.io-index"
2344
2355
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2345
2356
  dependencies = [
2346
- "windows-targets 0.52.5",
2357
+ "windows-targets 0.52.6",
2358
+ ]
2359
+
2360
+ [[package]]
2361
+ name = "windows-sys"
2362
+ version = "0.59.0"
2363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2364
+ checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2365
+ dependencies = [
2366
+ "windows-targets 0.52.6",
2347
2367
  ]
2348
2368
 
2349
2369
  [[package]]
@@ -2363,18 +2383,18 @@ dependencies = [
2363
2383
 
2364
2384
  [[package]]
2365
2385
  name = "windows-targets"
2366
- version = "0.52.5"
2386
+ version = "0.52.6"
2367
2387
  source = "registry+https://github.com/rust-lang/crates.io-index"
2368
- checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
2388
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2369
2389
  dependencies = [
2370
- "windows_aarch64_gnullvm 0.52.5",
2371
- "windows_aarch64_msvc 0.52.5",
2372
- "windows_i686_gnu 0.52.5",
2390
+ "windows_aarch64_gnullvm 0.52.6",
2391
+ "windows_aarch64_msvc 0.52.6",
2392
+ "windows_i686_gnu 0.52.6",
2373
2393
  "windows_i686_gnullvm",
2374
- "windows_i686_msvc 0.52.5",
2375
- "windows_x86_64_gnu 0.52.5",
2376
- "windows_x86_64_gnullvm 0.52.5",
2377
- "windows_x86_64_msvc 0.52.5",
2394
+ "windows_i686_msvc 0.52.6",
2395
+ "windows_x86_64_gnu 0.52.6",
2396
+ "windows_x86_64_gnullvm 0.52.6",
2397
+ "windows_x86_64_msvc 0.52.6",
2378
2398
  ]
2379
2399
 
2380
2400
  [[package]]
@@ -2385,9 +2405,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
2385
2405
 
2386
2406
  [[package]]
2387
2407
  name = "windows_aarch64_gnullvm"
2388
- version = "0.52.5"
2408
+ version = "0.52.6"
2389
2409
  source = "registry+https://github.com/rust-lang/crates.io-index"
2390
- checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
2410
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2391
2411
 
2392
2412
  [[package]]
2393
2413
  name = "windows_aarch64_msvc"
@@ -2397,9 +2417,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
2397
2417
 
2398
2418
  [[package]]
2399
2419
  name = "windows_aarch64_msvc"
2400
- version = "0.52.5"
2420
+ version = "0.52.6"
2401
2421
  source = "registry+https://github.com/rust-lang/crates.io-index"
2402
- checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
2422
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2403
2423
 
2404
2424
  [[package]]
2405
2425
  name = "windows_i686_gnu"
@@ -2409,15 +2429,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
2409
2429
 
2410
2430
  [[package]]
2411
2431
  name = "windows_i686_gnu"
2412
- version = "0.52.5"
2432
+ version = "0.52.6"
2413
2433
  source = "registry+https://github.com/rust-lang/crates.io-index"
2414
- checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
2434
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2415
2435
 
2416
2436
  [[package]]
2417
2437
  name = "windows_i686_gnullvm"
2418
- version = "0.52.5"
2438
+ version = "0.52.6"
2419
2439
  source = "registry+https://github.com/rust-lang/crates.io-index"
2420
- checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
2440
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2421
2441
 
2422
2442
  [[package]]
2423
2443
  name = "windows_i686_msvc"
@@ -2427,9 +2447,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
2427
2447
 
2428
2448
  [[package]]
2429
2449
  name = "windows_i686_msvc"
2430
- version = "0.52.5"
2450
+ version = "0.52.6"
2431
2451
  source = "registry+https://github.com/rust-lang/crates.io-index"
2432
- checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
2452
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2433
2453
 
2434
2454
  [[package]]
2435
2455
  name = "windows_x86_64_gnu"
@@ -2439,9 +2459,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
2439
2459
 
2440
2460
  [[package]]
2441
2461
  name = "windows_x86_64_gnu"
2442
- version = "0.52.5"
2462
+ version = "0.52.6"
2443
2463
  source = "registry+https://github.com/rust-lang/crates.io-index"
2444
- checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
2464
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2445
2465
 
2446
2466
  [[package]]
2447
2467
  name = "windows_x86_64_gnullvm"
@@ -2451,9 +2471,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
2451
2471
 
2452
2472
  [[package]]
2453
2473
  name = "windows_x86_64_gnullvm"
2454
- version = "0.52.5"
2474
+ version = "0.52.6"
2455
2475
  source = "registry+https://github.com/rust-lang/crates.io-index"
2456
- checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
2476
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2457
2477
 
2458
2478
  [[package]]
2459
2479
  name = "windows_x86_64_msvc"
@@ -2463,9 +2483,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
2463
2483
 
2464
2484
  [[package]]
2465
2485
  name = "windows_x86_64_msvc"
2466
- version = "0.52.5"
2486
+ version = "0.52.6"
2467
2487
  source = "registry+https://github.com/rust-lang/crates.io-index"
2468
- checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
2488
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2469
2489
 
2470
2490
  [[package]]
2471
2491
  name = "winnow"
@@ -7,7 +7,7 @@ resolver = "2"
7
7
  lto = true
8
8
 
9
9
  [workspace.package]
10
- version = "0.26.0"
10
+ version = "0.26.2"
11
11
  authors = ["Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>"]
12
12
  edition = "2021"
13
13
  license = "MIT"
@@ -18,11 +18,11 @@ rust-version = "1.67"
18
18
  readme = "README.md"
19
19
 
20
20
  [workspace.dependencies]
21
- ast-grep-core = { path = "crates/core", version = "0.26.0" }
22
- ast-grep-config = { path = "crates/config", version = "0.26.0" }
23
- ast-grep-dynamic = { path = "crates/dynamic", version = "0.26.0" }
24
- ast-grep-language = { path = "crates/language", version = "0.26.0" }
25
- ast-grep-lsp = { path = "crates/lsp", version = "0.26.0" }
21
+ ast-grep-core = { path = "crates/core", version = "0.26.2" }
22
+ ast-grep-config = { path = "crates/config", version = "0.26.2" }
23
+ ast-grep-dynamic = { path = "crates/dynamic", version = "0.26.2" }
24
+ ast-grep-language = { path = "crates/language", version = "0.26.2" }
25
+ ast-grep-lsp = { path = "crates/lsp", version = "0.26.2" }
26
26
 
27
27
  bit-set = { version = "0.8.0" }
28
28
  ignore = { version = "0.4.22" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ast-grep-cli
3
- Version: 0.26.0
3
+ Version: 0.26.2
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -38,7 +38,7 @@ anyhow.workspace = true
38
38
  atty = "0.2.14"
39
39
  clap = { version = "4.5.4", features = ["derive"] }
40
40
  codespan-reporting = "0.11.1"
41
- crossterm = "0.27.0"
41
+ crossterm = "0.28.0"
42
42
  ignore.workspace = true
43
43
  regex.workspace = true
44
44
  inquire = "0.7.5"
@@ -145,6 +145,22 @@ impl<'tree, D: Doc> MetaVarEnv<'tree, D> {
145
145
  }
146
146
  }
147
147
  }
148
+
149
+ /// internal for readopt NodeMatch in pinned.rs
150
+ /// readopt node and env when sending them to other threads
151
+ pub(crate) fn visit_nodes<F>(&mut self, mut f: F)
152
+ where
153
+ F: FnMut(&mut Node<'_, D>),
154
+ {
155
+ for n in self.single_matched.values_mut() {
156
+ f(n)
157
+ }
158
+ for ns in self.multi_matched.values_mut() {
159
+ for n in ns {
160
+ f(n)
161
+ }
162
+ }
163
+ }
148
164
  }
149
165
 
150
166
  fn get_var_bytes_impl<'t, C, D>(
@@ -92,7 +92,11 @@ unsafe impl<D: Doc> NodeData<D> for NodeMatch<'static, D> {
92
92
  where
93
93
  F: FnMut(&mut Node<'_, D>),
94
94
  {
95
- f(unsafe { self.get_node_mut() })
95
+ // update the matched Node
96
+ f(unsafe { self.get_node_mut() });
97
+ // update the meta variable captured
98
+ let env = self.get_env_mut();
99
+ env.visit_nodes(f);
96
100
  }
97
101
  }
98
102
 
@@ -106,7 +110,7 @@ unsafe impl<D: Doc> NodeData<D> for Vec<NodeMatch<'static, D>> {
106
110
  F: FnMut(&mut Node<'_, D>),
107
111
  {
108
112
  for n in self {
109
- f(unsafe { n.get_node_mut() })
113
+ n.visit_nodes(&mut f)
110
114
  }
111
115
  }
112
116
  }
@@ -209,7 +209,7 @@ impl<L: LSPLang> Backend<L> {
209
209
  let mut diagnostics = vec![];
210
210
  for (id, ms) in matches {
211
211
  let rule = scan.get_rule(id);
212
- let to_diagnostic = |m| convert_match_to_diagnostic(m, rule, uri);
212
+ let to_diagnostic = |m| convert_match_to_diagnostic(m, rule);
213
213
  diagnostics.extend(ms.into_iter().map(to_diagnostic));
214
214
  }
215
215
  Some(diagnostics)
@@ -224,10 +224,30 @@ impl<L: LSPLang> Backend<L> {
224
224
  Some(())
225
225
  }
226
226
 
227
+ async fn get_path_of_first_workspace(&self) -> Option<std::path::PathBuf> {
228
+ let folders = self.client.workspace_folders().await.ok()??;
229
+ let folder = folders.first()?;
230
+ folder.uri.to_file_path().ok()
231
+ }
232
+
233
+ // skip files outside of workspace root #1382, #1402
234
+ async fn should_skip_file_outside_workspace(&self, text_doc: &TextDocumentItem) -> Option<()> {
235
+ let workspace_root = self.get_path_of_first_workspace().await?;
236
+ let doc_file_path = text_doc.uri.to_file_path().ok()?;
237
+ if doc_file_path.starts_with(workspace_root) {
238
+ None
239
+ } else {
240
+ Some(())
241
+ }
242
+ }
243
+
227
244
  async fn on_open(&self, params: DidOpenTextDocumentParams) -> Option<()> {
228
245
  let text_doc = params.text_document;
229
- // skip files outside of workspace root #1382
230
- if !text_doc.uri.to_file_path().ok()?.starts_with(&self.base) {
246
+ if self
247
+ .should_skip_file_outside_workspace(&text_doc)
248
+ .await
249
+ .is_some()
250
+ {
231
251
  return None;
232
252
  }
233
253
  let uri = text_doc.uri.as_str().to_owned();
@@ -250,6 +270,7 @@ impl<L: LSPLang> Backend<L> {
250
270
  self.map.insert(uri.to_owned(), versioned); // don't lock dashmap
251
271
  Some(())
252
272
  }
273
+
253
274
  async fn on_change(&self, params: DidChangeTextDocumentParams) -> Option<()> {
254
275
  let text_doc = params.text_document;
255
276
  let uri = text_doc.uri.as_str();
@@ -74,7 +74,6 @@ fn convert_node_to_range<D: Doc>(node_match: &Node<D>) -> Range {
74
74
  pub fn convert_match_to_diagnostic<L: Language>(
75
75
  node_match: NodeMatch<StrDoc<L>>,
76
76
  rule: &RuleConfig<L>,
77
- uri: &Url,
78
77
  ) -> Diagnostic {
79
78
  // TODO
80
79
  let rewrite_data =
@@ -93,7 +92,7 @@ pub fn convert_match_to_diagnostic<L: Language>(
93
92
  message: get_non_empty_message(rule, &node_match),
94
93
  source: Some(String::from("ast-grep")),
95
94
  tags: None,
96
- related_information: collect_labels(&node_match, uri),
95
+ related_information: None,
97
96
  data: rewrite_data,
98
97
  }
99
98
  }
@@ -113,28 +112,6 @@ fn get_non_empty_message<L: Language>(rule: &RuleConfig<L>, nm: &NodeMatch<StrDo
113
112
  }
114
113
  }
115
114
 
116
- fn collect_labels<L: Language>(
117
- node_match: &NodeMatch<StrDoc<L>>,
118
- uri: &Url,
119
- ) -> Option<Vec<DiagnosticRelatedInformation>> {
120
- let secondary_nodes = node_match.get_env().get_labels("secondary")?;
121
- Some(
122
- secondary_nodes
123
- .iter()
124
- .map(|n| {
125
- let location = Location {
126
- uri: uri.clone(),
127
- range: convert_node_to_range(n),
128
- };
129
- DiagnosticRelatedInformation {
130
- location,
131
- message: String::new(),
132
- }
133
- })
134
- .collect(),
135
- )
136
- }
137
-
138
115
  fn url_to_code_description(url: &Option<String>) -> Option<CodeDescription> {
139
116
  let href = Url::parse(url.as_ref()?).ok()?;
140
117
  Some(CodeDescription { href })
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "ast-grep-cli"
7
- version = "0.26.0"
7
+ version = "0.26.2"
8
8
  description = "Structural Search and Rewrite code at large scale using precise AST pattern."
9
9
  authors = [{ name = "Herrington Darkholme", email = "2883231+HerringtonDarkholme@users.noreply.github.com" }]
10
10
  maintainers = [{ name = "Herrington Darkholme", email = "2883231+HerringtonDarkholme@users.noreply.github.com" }]
File without changes
File without changes