linthis 0.0.1__tar.gz → 0.0.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 (63) hide show
  1. {linthis-0.0.1 → linthis-0.0.2}/Cargo.lock +343 -5
  2. {linthis-0.0.1 → linthis-0.0.2}/Cargo.toml +11 -1
  3. linthis-0.0.2/PKG-INFO +718 -0
  4. linthis-0.0.2/README.md +695 -0
  5. linthis-0.0.2/dev.sh +116 -0
  6. linthis-0.0.2/docs/config-cli-design.md +499 -0
  7. linthis-0.0.2/docs/init-hooks-design.md +375 -0
  8. {linthis-0.0.1 → linthis-0.0.2}/pyproject.toml +1 -1
  9. linthis-0.0.2/src/checkers/cpp.rs +249 -0
  10. linthis-0.0.2/src/checkers/go.rs +261 -0
  11. {linthis-0.0.1 → linthis-0.0.2}/src/checkers/python.rs +13 -7
  12. linthis-0.0.2/src/checkers/rust.rs +198 -0
  13. linthis-0.0.2/src/config/cli.rs +569 -0
  14. {linthis-0.0.1 → linthis-0.0.2}/src/config/mod.rs +182 -18
  15. {linthis-0.0.1 → linthis-0.0.2}/src/lib.rs +125 -22
  16. linthis-0.0.2/src/main.rs +3567 -0
  17. linthis-0.0.2/src/plugin/cache.rs +345 -0
  18. linthis-0.0.2/src/plugin/config_manager.rs +337 -0
  19. linthis-0.0.2/src/plugin/fetcher.rs +298 -0
  20. linthis-0.0.2/src/plugin/loader.rs +353 -0
  21. linthis-0.0.2/src/plugin/manifest.rs +228 -0
  22. linthis-0.0.2/src/plugin/mod.rs +138 -0
  23. linthis-0.0.2/src/plugin/registry.rs +158 -0
  24. linthis-0.0.2/test-plugin-check/README.md +12 -0
  25. linthis-0.0.2/test-plugin-check/linthis-plugin.toml +17 -0
  26. linthis-0.0.2/tests/fixtures/test-plugin/linthis-plugin.toml +20 -0
  27. linthis-0.0.2/tests/fixtures/test-plugin/python/ruff.toml +6 -0
  28. linthis-0.0.2/tests/fixtures/test-plugin/rust/clippy.toml +2 -0
  29. linthis-0.0.2/tests/fixtures/test-plugin/rust/rustfmt.toml +4 -0
  30. linthis-0.0.1/PKG-INFO +0 -115
  31. linthis-0.0.1/README.md +0 -92
  32. linthis-0.0.1/src/checkers/cpp.rs +0 -134
  33. linthis-0.0.1/src/checkers/go.rs +0 -119
  34. linthis-0.0.1/src/checkers/rust.rs +0 -132
  35. linthis-0.0.1/src/main.rs +0 -445
  36. {linthis-0.0.1 → linthis-0.0.2}/.github/workflows/release.yml +0 -0
  37. {linthis-0.0.1 → linthis-0.0.2}/.gitignore +0 -0
  38. {linthis-0.0.1 → linthis-0.0.2}/CHANGELOG.md +0 -0
  39. {linthis-0.0.1 → linthis-0.0.2}/defaults/config.toml +0 -0
  40. {linthis-0.0.1 → linthis-0.0.2}/docs/plan-ruff-integration.md +0 -0
  41. {linthis-0.0.1 → linthis-0.0.2}/docs/tasks.md +0 -0
  42. {linthis-0.0.1 → linthis-0.0.2}/src/benchmark.rs +0 -0
  43. {linthis-0.0.1 → linthis-0.0.2}/src/checkers/java.rs +0 -0
  44. {linthis-0.0.1 → linthis-0.0.2}/src/checkers/mod.rs +0 -0
  45. {linthis-0.0.1 → linthis-0.0.2}/src/checkers/traits.rs +0 -0
  46. {linthis-0.0.1 → linthis-0.0.2}/src/checkers/typescript.rs +0 -0
  47. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/cpp.rs +0 -0
  48. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/go.rs +0 -0
  49. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/java.rs +0 -0
  50. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/mod.rs +0 -0
  51. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/python.rs +0 -0
  52. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/rust.rs +0 -0
  53. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/traits.rs +0 -0
  54. {linthis-0.0.1 → linthis-0.0.2}/src/formatters/typescript.rs +0 -0
  55. {linthis-0.0.1 → linthis-0.0.2}/src/presets/mod.rs +0 -0
  56. {linthis-0.0.1 → linthis-0.0.2}/src/utils/language.rs +0 -0
  57. {linthis-0.0.1 → linthis-0.0.2}/src/utils/mod.rs +0 -0
  58. {linthis-0.0.1 → linthis-0.0.2}/src/utils/output.rs +0 -0
  59. {linthis-0.0.1 → linthis-0.0.2}/src/utils/types.rs +0 -0
  60. {linthis-0.0.1 → linthis-0.0.2}/src/utils/walker.rs +0 -0
  61. {linthis-0.0.1 → linthis-0.0.2}/tests/fixtures/us1/good.rs +0 -0
  62. {linthis-0.0.1 → linthis-0.0.2}/tests/fixtures/us1/unformatted.rs +0 -0
  63. {linthis-0.0.1 → linthis-0.0.2}/tests/integration/mod.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "aho-corasick"
@@ -20,6 +20,15 @@ dependencies = [
20
20
  "memchr",
21
21
  ]
22
22
 
23
+ [[package]]
24
+ name = "android_system_properties"
25
+ version = "0.1.5"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
28
+ dependencies = [
29
+ "libc",
30
+ ]
31
+
23
32
  [[package]]
24
33
  name = "anstream"
25
34
  version = "0.3.2"
@@ -114,12 +123,42 @@ dependencies = [
114
123
  "serde",
115
124
  ]
116
125
 
126
+ [[package]]
127
+ name = "bumpalo"
128
+ version = "3.19.1"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
131
+
132
+ [[package]]
133
+ name = "cc"
134
+ version = "1.2.50"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "9f50d563227a1c37cc0a263f64eca3334388c01c5e4c4861a9def205c614383c"
137
+ dependencies = [
138
+ "find-msvc-tools",
139
+ "shlex",
140
+ ]
141
+
117
142
  [[package]]
118
143
  name = "cfg-if"
119
144
  version = "1.0.4"
120
145
  source = "registry+https://github.com/rust-lang/crates.io-index"
121
146
  checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
122
147
 
148
+ [[package]]
149
+ name = "chrono"
150
+ version = "0.4.42"
151
+ source = "registry+https://github.com/rust-lang/crates.io-index"
152
+ checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
153
+ dependencies = [
154
+ "iana-time-zone",
155
+ "js-sys",
156
+ "num-traits",
157
+ "serde",
158
+ "wasm-bindgen",
159
+ "windows-link",
160
+ ]
161
+
123
162
  [[package]]
124
163
  name = "clap"
125
164
  version = "4.3.0"
@@ -179,6 +218,12 @@ dependencies = [
179
218
  "winapi",
180
219
  ]
181
220
 
221
+ [[package]]
222
+ name = "core-foundation-sys"
223
+ version = "0.8.7"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
226
+
182
227
  [[package]]
183
228
  name = "crossbeam-channel"
184
229
  version = "0.5.15"
@@ -213,6 +258,27 @@ version = "0.8.21"
213
258
  source = "registry+https://github.com/rust-lang/crates.io-index"
214
259
  checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
215
260
 
261
+ [[package]]
262
+ name = "directories"
263
+ version = "5.0.1"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
266
+ dependencies = [
267
+ "dirs-sys",
268
+ ]
269
+
270
+ [[package]]
271
+ name = "dirs-sys"
272
+ version = "0.4.1"
273
+ source = "registry+https://github.com/rust-lang/crates.io-index"
274
+ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
275
+ dependencies = [
276
+ "libc",
277
+ "option-ext",
278
+ "redox_users",
279
+ "windows-sys 0.48.0",
280
+ ]
281
+
216
282
  [[package]]
217
283
  name = "either"
218
284
  version = "1.15.0"
@@ -232,6 +298,12 @@ dependencies = [
232
298
  "termcolor",
233
299
  ]
234
300
 
301
+ [[package]]
302
+ name = "equivalent"
303
+ version = "1.0.2"
304
+ source = "registry+https://github.com/rust-lang/crates.io-index"
305
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
306
+
235
307
  [[package]]
236
308
  name = "errno"
237
309
  version = "0.3.14"
@@ -248,12 +320,39 @@ version = "2.3.0"
248
320
  source = "registry+https://github.com/rust-lang/crates.io-index"
249
321
  checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
250
322
 
323
+ [[package]]
324
+ name = "find-msvc-tools"
325
+ version = "0.1.5"
326
+ source = "registry+https://github.com/rust-lang/crates.io-index"
327
+ checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
328
+
251
329
  [[package]]
252
330
  name = "fnv"
253
331
  version = "1.0.7"
254
332
  source = "registry+https://github.com/rust-lang/crates.io-index"
255
333
  checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
256
334
 
335
+ [[package]]
336
+ name = "fs2"
337
+ version = "0.4.3"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
340
+ dependencies = [
341
+ "libc",
342
+ "winapi",
343
+ ]
344
+
345
+ [[package]]
346
+ name = "getrandom"
347
+ version = "0.2.16"
348
+ source = "registry+https://github.com/rust-lang/crates.io-index"
349
+ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
350
+ dependencies = [
351
+ "cfg-if",
352
+ "libc",
353
+ "wasi",
354
+ ]
355
+
257
356
  [[package]]
258
357
  name = "getrandom"
259
358
  version = "0.3.4"
@@ -285,6 +384,12 @@ version = "0.12.3"
285
384
  source = "registry+https://github.com/rust-lang/crates.io-index"
286
385
  checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
287
386
 
387
+ [[package]]
388
+ name = "hashbrown"
389
+ version = "0.16.1"
390
+ source = "registry+https://github.com/rust-lang/crates.io-index"
391
+ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
392
+
288
393
  [[package]]
289
394
  name = "heck"
290
395
  version = "0.4.1"
@@ -312,6 +417,30 @@ version = "2.3.0"
312
417
  source = "registry+https://github.com/rust-lang/crates.io-index"
313
418
  checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
314
419
 
420
+ [[package]]
421
+ name = "iana-time-zone"
422
+ version = "0.1.64"
423
+ source = "registry+https://github.com/rust-lang/crates.io-index"
424
+ checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
425
+ dependencies = [
426
+ "android_system_properties",
427
+ "core-foundation-sys",
428
+ "iana-time-zone-haiku",
429
+ "js-sys",
430
+ "log",
431
+ "wasm-bindgen",
432
+ "windows-core",
433
+ ]
434
+
435
+ [[package]]
436
+ name = "iana-time-zone-haiku"
437
+ version = "0.1.2"
438
+ source = "registry+https://github.com/rust-lang/crates.io-index"
439
+ checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
440
+ dependencies = [
441
+ "cc",
442
+ ]
443
+
315
444
  [[package]]
316
445
  name = "indexmap"
317
446
  version = "1.9.3"
@@ -319,7 +448,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
319
448
  checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
320
449
  dependencies = [
321
450
  "autocfg",
322
- "hashbrown",
451
+ "hashbrown 0.12.3",
452
+ ]
453
+
454
+ [[package]]
455
+ name = "indexmap"
456
+ version = "2.12.1"
457
+ source = "registry+https://github.com/rust-lang/crates.io-index"
458
+ checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2"
459
+ dependencies = [
460
+ "equivalent",
461
+ "hashbrown 0.16.1",
323
462
  ]
324
463
 
325
464
  [[package]]
@@ -339,6 +478,16 @@ version = "1.0.15"
339
478
  source = "registry+https://github.com/rust-lang/crates.io-index"
340
479
  checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
341
480
 
481
+ [[package]]
482
+ name = "js-sys"
483
+ version = "0.3.83"
484
+ source = "registry+https://github.com/rust-lang/crates.io-index"
485
+ checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
486
+ dependencies = [
487
+ "once_cell",
488
+ "wasm-bindgen",
489
+ ]
490
+
342
491
  [[package]]
343
492
  name = "lazy_static"
344
493
  version = "1.4.0"
@@ -351,14 +500,27 @@ version = "0.2.178"
351
500
  source = "registry+https://github.com/rust-lang/crates.io-index"
352
501
  checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
353
502
 
503
+ [[package]]
504
+ name = "libredox"
505
+ version = "0.1.11"
506
+ source = "registry+https://github.com/rust-lang/crates.io-index"
507
+ checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50"
508
+ dependencies = [
509
+ "bitflags 2.10.0",
510
+ "libc",
511
+ ]
512
+
354
513
  [[package]]
355
514
  name = "linthis"
356
- version = "0.0.1"
515
+ version = "0.0.2"
357
516
  dependencies = [
358
517
  "anyhow",
518
+ "chrono",
359
519
  "clap",
360
520
  "colored",
521
+ "directories",
361
522
  "env_logger",
523
+ "fs2",
362
524
  "globset",
363
525
  "lazy_static",
364
526
  "log",
@@ -370,6 +532,7 @@ dependencies = [
370
532
  "tempfile",
371
533
  "thiserror",
372
534
  "toml",
535
+ "toml_edit",
373
536
  "walkdir",
374
537
  ]
375
538
 
@@ -391,6 +554,15 @@ version = "2.7.6"
391
554
  source = "registry+https://github.com/rust-lang/crates.io-index"
392
555
  checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
393
556
 
557
+ [[package]]
558
+ name = "num-traits"
559
+ version = "0.2.19"
560
+ source = "registry+https://github.com/rust-lang/crates.io-index"
561
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
562
+ dependencies = [
563
+ "autocfg",
564
+ ]
565
+
394
566
  [[package]]
395
567
  name = "num_cpus"
396
568
  version = "1.17.0"
@@ -407,6 +579,12 @@ version = "1.21.3"
407
579
  source = "registry+https://github.com/rust-lang/crates.io-index"
408
580
  checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
409
581
 
582
+ [[package]]
583
+ name = "option-ext"
584
+ version = "0.2.0"
585
+ source = "registry+https://github.com/rust-lang/crates.io-index"
586
+ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
587
+
410
588
  [[package]]
411
589
  name = "proc-macro2"
412
590
  version = "1.0.103"
@@ -453,6 +631,17 @@ dependencies = [
453
631
  "num_cpus",
454
632
  ]
455
633
 
634
+ [[package]]
635
+ name = "redox_users"
636
+ version = "0.4.6"
637
+ source = "registry+https://github.com/rust-lang/crates.io-index"
638
+ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
639
+ dependencies = [
640
+ "getrandom 0.2.16",
641
+ "libredox",
642
+ "thiserror",
643
+ ]
644
+
456
645
  [[package]]
457
646
  name = "regex"
458
647
  version = "1.8.4"
@@ -483,6 +672,12 @@ dependencies = [
483
672
  "windows-sys 0.61.2",
484
673
  ]
485
674
 
675
+ [[package]]
676
+ name = "rustversion"
677
+ version = "1.0.22"
678
+ source = "registry+https://github.com/rust-lang/crates.io-index"
679
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
680
+
486
681
  [[package]]
487
682
  name = "ryu"
488
683
  version = "1.0.20"
@@ -535,13 +730,19 @@ version = "0.9.17"
535
730
  source = "registry+https://github.com/rust-lang/crates.io-index"
536
731
  checksum = "8fb06d4b6cdaef0e0c51fa881acb721bed3c924cfaa71d9c94a3b771dfdf6567"
537
732
  dependencies = [
538
- "indexmap",
733
+ "indexmap 1.9.3",
539
734
  "itoa",
540
735
  "ryu",
541
736
  "serde",
542
737
  "unsafe-libyaml",
543
738
  ]
544
739
 
740
+ [[package]]
741
+ name = "shlex"
742
+ version = "1.3.0"
743
+ source = "registry+https://github.com/rust-lang/crates.io-index"
744
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
745
+
545
746
  [[package]]
546
747
  name = "strsim"
547
748
  version = "0.10.0"
@@ -566,7 +767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
566
767
  checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
567
768
  dependencies = [
568
769
  "fastrand",
569
- "getrandom",
770
+ "getrandom 0.3.4",
570
771
  "once_cell",
571
772
  "rustix",
572
773
  "windows-sys 0.61.2",
@@ -610,6 +811,30 @@ dependencies = [
610
811
  "serde",
611
812
  ]
612
813
 
814
+ [[package]]
815
+ name = "toml_datetime"
816
+ version = "0.6.11"
817
+ source = "registry+https://github.com/rust-lang/crates.io-index"
818
+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
819
+
820
+ [[package]]
821
+ name = "toml_edit"
822
+ version = "0.22.27"
823
+ source = "registry+https://github.com/rust-lang/crates.io-index"
824
+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
825
+ dependencies = [
826
+ "indexmap 2.12.1",
827
+ "toml_datetime",
828
+ "toml_write",
829
+ "winnow",
830
+ ]
831
+
832
+ [[package]]
833
+ name = "toml_write"
834
+ version = "0.1.2"
835
+ source = "registry+https://github.com/rust-lang/crates.io-index"
836
+ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
837
+
613
838
  [[package]]
614
839
  name = "unicode-ident"
615
840
  version = "1.0.22"
@@ -638,6 +863,12 @@ dependencies = [
638
863
  "winapi-util",
639
864
  ]
640
865
 
866
+ [[package]]
867
+ name = "wasi"
868
+ version = "0.11.1+wasi-snapshot-preview1"
869
+ source = "registry+https://github.com/rust-lang/crates.io-index"
870
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
871
+
641
872
  [[package]]
642
873
  name = "wasip2"
643
874
  version = "1.0.1+wasi-0.2.4"
@@ -647,6 +878,51 @@ dependencies = [
647
878
  "wit-bindgen",
648
879
  ]
649
880
 
881
+ [[package]]
882
+ name = "wasm-bindgen"
883
+ version = "0.2.106"
884
+ source = "registry+https://github.com/rust-lang/crates.io-index"
885
+ checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
886
+ dependencies = [
887
+ "cfg-if",
888
+ "once_cell",
889
+ "rustversion",
890
+ "wasm-bindgen-macro",
891
+ "wasm-bindgen-shared",
892
+ ]
893
+
894
+ [[package]]
895
+ name = "wasm-bindgen-macro"
896
+ version = "0.2.106"
897
+ source = "registry+https://github.com/rust-lang/crates.io-index"
898
+ checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
899
+ dependencies = [
900
+ "quote",
901
+ "wasm-bindgen-macro-support",
902
+ ]
903
+
904
+ [[package]]
905
+ name = "wasm-bindgen-macro-support"
906
+ version = "0.2.106"
907
+ source = "registry+https://github.com/rust-lang/crates.io-index"
908
+ checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
909
+ dependencies = [
910
+ "bumpalo",
911
+ "proc-macro2",
912
+ "quote",
913
+ "syn",
914
+ "wasm-bindgen-shared",
915
+ ]
916
+
917
+ [[package]]
918
+ name = "wasm-bindgen-shared"
919
+ version = "0.2.106"
920
+ source = "registry+https://github.com/rust-lang/crates.io-index"
921
+ checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
922
+ dependencies = [
923
+ "unicode-ident",
924
+ ]
925
+
650
926
  [[package]]
651
927
  name = "winapi"
652
928
  version = "0.3.9"
@@ -678,12 +954,65 @@ version = "0.4.0"
678
954
  source = "registry+https://github.com/rust-lang/crates.io-index"
679
955
  checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
680
956
 
957
+ [[package]]
958
+ name = "windows-core"
959
+ version = "0.62.2"
960
+ source = "registry+https://github.com/rust-lang/crates.io-index"
961
+ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
962
+ dependencies = [
963
+ "windows-implement",
964
+ "windows-interface",
965
+ "windows-link",
966
+ "windows-result",
967
+ "windows-strings",
968
+ ]
969
+
970
+ [[package]]
971
+ name = "windows-implement"
972
+ version = "0.60.2"
973
+ source = "registry+https://github.com/rust-lang/crates.io-index"
974
+ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
975
+ dependencies = [
976
+ "proc-macro2",
977
+ "quote",
978
+ "syn",
979
+ ]
980
+
981
+ [[package]]
982
+ name = "windows-interface"
983
+ version = "0.59.3"
984
+ source = "registry+https://github.com/rust-lang/crates.io-index"
985
+ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
986
+ dependencies = [
987
+ "proc-macro2",
988
+ "quote",
989
+ "syn",
990
+ ]
991
+
681
992
  [[package]]
682
993
  name = "windows-link"
683
994
  version = "0.2.1"
684
995
  source = "registry+https://github.com/rust-lang/crates.io-index"
685
996
  checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
686
997
 
998
+ [[package]]
999
+ name = "windows-result"
1000
+ version = "0.4.1"
1001
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1002
+ checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
1003
+ dependencies = [
1004
+ "windows-link",
1005
+ ]
1006
+
1007
+ [[package]]
1008
+ name = "windows-strings"
1009
+ version = "0.5.1"
1010
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1011
+ checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
1012
+ dependencies = [
1013
+ "windows-link",
1014
+ ]
1015
+
687
1016
  [[package]]
688
1017
  name = "windows-sys"
689
1018
  version = "0.48.0"
@@ -759,6 +1088,15 @@ version = "0.48.5"
759
1088
  source = "registry+https://github.com/rust-lang/crates.io-index"
760
1089
  checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
761
1090
 
1091
+ [[package]]
1092
+ name = "winnow"
1093
+ version = "0.7.14"
1094
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1095
+ checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
1096
+ dependencies = [
1097
+ "memchr",
1098
+ ]
1099
+
762
1100
  [[package]]
763
1101
  name = "wit-bindgen"
764
1102
  version = "0.46.0"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "linthis"
3
- version = "0.0.1"
3
+ version = "0.0.2"
4
4
  edition = "2021"
5
5
  authors = ["zhlinh"]
6
6
  description = "A fast, cross-platform multi-language linter and formatter"
@@ -25,6 +25,7 @@ serde = { version = "1.0", features = ["derive"] }
25
25
  serde_json = "1.0"
26
26
  serde_yaml = "0.9"
27
27
  toml = "0.5"
28
+ toml_edit = "0.22" # For preserving TOML format when editing config files
28
29
 
29
30
  # File system
30
31
  walkdir = "2.3"
@@ -48,6 +49,15 @@ lazy_static = "1.4"
48
49
  log = "0.4"
49
50
  env_logger = "0.10"
50
51
 
52
+ # Platform directories (for plugin cache)
53
+ directories = "5.0"
54
+
55
+ # Date/time (for plugin metadata)
56
+ chrono = { version = "0.4", features = ["serde"] }
57
+
58
+ # File locking (for cache operations)
59
+ fs2 = "0.4"
60
+
51
61
  [dev-dependencies]
52
62
  tempfile = "3"
53
63