+1619
-85
Cargo.lock
+1619
-85
Cargo.lock
···
17
17
source = "registry+https://github.com/rust-lang/crates.io-index"
18
18
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
19
20
+
[[package]]
21
+
name = "aho-corasick"
22
+
version = "1.1.4"
23
+
source = "registry+https://github.com/rust-lang/crates.io-index"
24
+
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
25
+
dependencies = [
26
+
"memchr",
27
+
]
28
+
29
+
[[package]]
30
+
name = "allocator-api2"
31
+
version = "0.2.21"
32
+
source = "registry+https://github.com/rust-lang/crates.io-index"
33
+
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
34
+
20
35
[[package]]
21
36
name = "anstream"
22
37
version = "0.6.21"
···
73
88
source = "registry+https://github.com/rust-lang/crates.io-index"
74
89
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
75
90
91
+
[[package]]
92
+
name = "atomic"
93
+
version = "0.6.1"
94
+
source = "registry+https://github.com/rust-lang/crates.io-index"
95
+
checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340"
96
+
dependencies = [
97
+
"bytemuck",
98
+
]
99
+
100
+
[[package]]
101
+
name = "autocfg"
102
+
version = "1.5.0"
103
+
source = "registry+https://github.com/rust-lang/crates.io-index"
104
+
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
105
+
76
106
[[package]]
77
107
name = "backtrace"
78
108
version = "0.3.76"
···
88
118
"windows-link 0.2.1",
89
119
]
90
120
121
+
[[package]]
122
+
name = "base64"
123
+
version = "0.22.1"
124
+
source = "registry+https://github.com/rust-lang/crates.io-index"
125
+
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
126
+
91
127
[[package]]
92
128
name = "better-panic"
93
129
version = "0.3.0"
···
98
134
"console",
99
135
]
100
136
137
+
[[package]]
138
+
name = "bit-set"
139
+
version = "0.5.3"
140
+
source = "registry+https://github.com/rust-lang/crates.io-index"
141
+
checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
142
+
dependencies = [
143
+
"bit-vec",
144
+
]
145
+
146
+
[[package]]
147
+
name = "bit-vec"
148
+
version = "0.6.3"
149
+
source = "registry+https://github.com/rust-lang/crates.io-index"
150
+
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
151
+
152
+
[[package]]
153
+
name = "bitflags"
154
+
version = "1.3.2"
155
+
source = "registry+https://github.com/rust-lang/crates.io-index"
156
+
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
157
+
101
158
[[package]]
102
159
name = "bitflags"
103
160
version = "2.11.0"
104
161
source = "registry+https://github.com/rust-lang/crates.io-index"
105
162
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
106
163
164
+
[[package]]
165
+
name = "block-buffer"
166
+
version = "0.10.4"
167
+
source = "registry+https://github.com/rust-lang/crates.io-index"
168
+
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
169
+
dependencies = [
170
+
"generic-array",
171
+
]
172
+
173
+
[[package]]
174
+
name = "bumpalo"
175
+
version = "3.20.2"
176
+
source = "registry+https://github.com/rust-lang/crates.io-index"
177
+
checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
178
+
179
+
[[package]]
180
+
name = "bytemuck"
181
+
version = "1.25.0"
182
+
source = "registry+https://github.com/rust-lang/crates.io-index"
183
+
checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
184
+
185
+
[[package]]
186
+
name = "bytes"
187
+
version = "1.11.1"
188
+
source = "registry+https://github.com/rust-lang/crates.io-index"
189
+
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
190
+
191
+
[[package]]
192
+
name = "castaway"
193
+
version = "0.2.4"
194
+
source = "registry+https://github.com/rust-lang/crates.io-index"
195
+
checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a"
196
+
dependencies = [
197
+
"rustversion",
198
+
]
199
+
107
200
[[package]]
108
201
name = "cfg-if"
109
202
version = "1.0.4"
110
203
source = "registry+https://github.com/rust-lang/crates.io-index"
111
204
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
112
205
206
+
[[package]]
207
+
name = "cfg_aliases"
208
+
version = "0.2.1"
209
+
source = "registry+https://github.com/rust-lang/crates.io-index"
210
+
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
211
+
113
212
[[package]]
114
213
name = "color-eyre"
115
214
version = "0.6.5"
···
143
242
source = "registry+https://github.com/rust-lang/crates.io-index"
144
243
checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
145
244
245
+
[[package]]
246
+
name = "compact_str"
247
+
version = "0.9.0"
248
+
source = "registry+https://github.com/rust-lang/crates.io-index"
249
+
checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a"
250
+
dependencies = [
251
+
"castaway",
252
+
"cfg-if",
253
+
"itoa",
254
+
"rustversion",
255
+
"ryu",
256
+
"static_assertions",
257
+
]
258
+
146
259
[[package]]
147
260
name = "console"
148
261
version = "0.15.11"
···
155
268
"windows-sys 0.59.0",
156
269
]
157
270
271
+
[[package]]
272
+
name = "convert_case"
273
+
version = "0.10.0"
274
+
source = "registry+https://github.com/rust-lang/crates.io-index"
275
+
checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
276
+
dependencies = [
277
+
"unicode-segmentation",
278
+
]
279
+
280
+
[[package]]
281
+
name = "cpufeatures"
282
+
version = "0.2.17"
283
+
source = "registry+https://github.com/rust-lang/crates.io-index"
284
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
285
+
dependencies = [
286
+
"libc",
287
+
]
288
+
289
+
[[package]]
290
+
name = "crossterm"
291
+
version = "0.29.0"
292
+
source = "registry+https://github.com/rust-lang/crates.io-index"
293
+
checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
294
+
dependencies = [
295
+
"bitflags 2.11.0",
296
+
"crossterm_winapi",
297
+
"derive_more",
298
+
"document-features",
299
+
"futures-core",
300
+
"mio",
301
+
"parking_lot",
302
+
"rustix",
303
+
"signal-hook 0.3.18",
304
+
"signal-hook-mio",
305
+
"winapi",
306
+
]
307
+
308
+
[[package]]
309
+
name = "crossterm_winapi"
310
+
version = "0.9.1"
311
+
source = "registry+https://github.com/rust-lang/crates.io-index"
312
+
checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
313
+
dependencies = [
314
+
"winapi",
315
+
]
316
+
317
+
[[package]]
318
+
name = "crypto-common"
319
+
version = "0.1.7"
320
+
source = "registry+https://github.com/rust-lang/crates.io-index"
321
+
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
322
+
dependencies = [
323
+
"generic-array",
324
+
"typenum",
325
+
]
326
+
327
+
[[package]]
328
+
name = "csscolorparser"
329
+
version = "0.6.2"
330
+
source = "registry+https://github.com/rust-lang/crates.io-index"
331
+
checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf"
332
+
dependencies = [
333
+
"lab",
334
+
"phf",
335
+
]
336
+
337
+
[[package]]
338
+
name = "darling"
339
+
version = "0.23.0"
340
+
source = "registry+https://github.com/rust-lang/crates.io-index"
341
+
checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
342
+
dependencies = [
343
+
"darling_core",
344
+
"darling_macro",
345
+
]
346
+
347
+
[[package]]
348
+
name = "darling_core"
349
+
version = "0.23.0"
350
+
source = "registry+https://github.com/rust-lang/crates.io-index"
351
+
checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
352
+
dependencies = [
353
+
"ident_case",
354
+
"proc-macro2",
355
+
"quote",
356
+
"strsim",
357
+
"syn 2.0.117",
358
+
]
359
+
360
+
[[package]]
361
+
name = "darling_macro"
362
+
version = "0.23.0"
363
+
source = "registry+https://github.com/rust-lang/crates.io-index"
364
+
checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
365
+
dependencies = [
366
+
"darling_core",
367
+
"quote",
368
+
"syn 2.0.117",
369
+
]
370
+
371
+
[[package]]
372
+
name = "deltae"
373
+
version = "0.3.2"
374
+
source = "registry+https://github.com/rust-lang/crates.io-index"
375
+
checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4"
376
+
377
+
[[package]]
378
+
name = "deranged"
379
+
version = "0.5.8"
380
+
source = "registry+https://github.com/rust-lang/crates.io-index"
381
+
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
382
+
dependencies = [
383
+
"powerfmt",
384
+
]
385
+
386
+
[[package]]
387
+
name = "derive_more"
388
+
version = "2.1.1"
389
+
source = "registry+https://github.com/rust-lang/crates.io-index"
390
+
checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
391
+
dependencies = [
392
+
"derive_more-impl",
393
+
]
394
+
395
+
[[package]]
396
+
name = "derive_more-impl"
397
+
version = "2.1.1"
398
+
source = "registry+https://github.com/rust-lang/crates.io-index"
399
+
checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
400
+
dependencies = [
401
+
"convert_case",
402
+
"proc-macro2",
403
+
"quote",
404
+
"rustc_version",
405
+
"syn 2.0.117",
406
+
]
407
+
408
+
[[package]]
409
+
name = "digest"
410
+
version = "0.10.7"
411
+
source = "registry+https://github.com/rust-lang/crates.io-index"
412
+
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
413
+
dependencies = [
414
+
"block-buffer",
415
+
"crypto-common",
416
+
]
417
+
418
+
[[package]]
419
+
name = "document-features"
420
+
version = "0.2.12"
421
+
source = "registry+https://github.com/rust-lang/crates.io-index"
422
+
checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
423
+
dependencies = [
424
+
"litrs",
425
+
]
426
+
427
+
[[package]]
428
+
name = "either"
429
+
version = "1.15.0"
430
+
source = "registry+https://github.com/rust-lang/crates.io-index"
431
+
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
432
+
158
433
[[package]]
159
434
name = "encode_unicode"
160
435
version = "1.0.0"
···
167
442
source = "registry+https://github.com/rust-lang/crates.io-index"
168
443
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
169
444
445
+
[[package]]
446
+
name = "errno"
447
+
version = "0.3.14"
448
+
source = "registry+https://github.com/rust-lang/crates.io-index"
449
+
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
450
+
dependencies = [
451
+
"libc",
452
+
"windows-sys 0.61.2",
453
+
]
454
+
455
+
[[package]]
456
+
name = "euclid"
457
+
version = "0.22.13"
458
+
source = "registry+https://github.com/rust-lang/crates.io-index"
459
+
checksum = "df61bf483e837f88d5c2291dcf55c67be7e676b3a51acc48db3a7b163b91ed63"
460
+
dependencies = [
461
+
"num-traits",
462
+
]
463
+
170
464
[[package]]
171
465
name = "eyre"
172
466
version = "0.6.12"
···
177
471
"once_cell",
178
472
]
179
473
474
+
[[package]]
475
+
name = "fancy-regex"
476
+
version = "0.11.0"
477
+
source = "registry+https://github.com/rust-lang/crates.io-index"
478
+
checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
479
+
dependencies = [
480
+
"bit-set",
481
+
"regex",
482
+
]
483
+
180
484
[[package]]
181
485
name = "filaments"
182
486
version = "0.1.0"
183
487
dependencies = [
184
488
"better-panic",
185
489
"color-eyre",
490
+
"crossterm",
491
+
"futures",
186
492
"human-panic",
493
+
"ratatui",
494
+
"serde",
495
+
"signal-hook 0.4.3",
496
+
"tokio",
497
+
"tokio-util",
187
498
"tracing",
188
499
]
189
500
501
+
[[package]]
502
+
name = "filedescriptor"
503
+
version = "0.8.3"
504
+
source = "registry+https://github.com/rust-lang/crates.io-index"
505
+
checksum = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d"
506
+
dependencies = [
507
+
"libc",
508
+
"thiserror 1.0.69",
509
+
"winapi",
510
+
]
511
+
512
+
[[package]]
513
+
name = "finl_unicode"
514
+
version = "1.4.0"
515
+
source = "registry+https://github.com/rust-lang/crates.io-index"
516
+
checksum = "9844ddc3a6e533d62bba727eb6c28b5d360921d5175e9ff0f1e621a5c590a4d5"
517
+
518
+
[[package]]
519
+
name = "fixedbitset"
520
+
version = "0.4.2"
521
+
source = "registry+https://github.com/rust-lang/crates.io-index"
522
+
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
523
+
524
+
[[package]]
525
+
name = "fnv"
526
+
version = "1.0.7"
527
+
source = "registry+https://github.com/rust-lang/crates.io-index"
528
+
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
529
+
190
530
[[package]]
191
531
name = "foldhash"
192
532
version = "0.1.5"
193
533
source = "registry+https://github.com/rust-lang/crates.io-index"
194
534
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
195
535
536
+
[[package]]
537
+
name = "foldhash"
538
+
version = "0.2.0"
539
+
source = "registry+https://github.com/rust-lang/crates.io-index"
540
+
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
541
+
542
+
[[package]]
543
+
name = "futures"
544
+
version = "0.3.32"
545
+
source = "registry+https://github.com/rust-lang/crates.io-index"
546
+
checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
547
+
dependencies = [
548
+
"futures-channel",
549
+
"futures-core",
550
+
"futures-executor",
551
+
"futures-io",
552
+
"futures-sink",
553
+
"futures-task",
554
+
"futures-util",
555
+
]
556
+
557
+
[[package]]
558
+
name = "futures-channel"
559
+
version = "0.3.32"
560
+
source = "registry+https://github.com/rust-lang/crates.io-index"
561
+
checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
562
+
dependencies = [
563
+
"futures-core",
564
+
"futures-sink",
565
+
]
566
+
567
+
[[package]]
568
+
name = "futures-core"
569
+
version = "0.3.32"
570
+
source = "registry+https://github.com/rust-lang/crates.io-index"
571
+
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
572
+
573
+
[[package]]
574
+
name = "futures-executor"
575
+
version = "0.3.32"
576
+
source = "registry+https://github.com/rust-lang/crates.io-index"
577
+
checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
578
+
dependencies = [
579
+
"futures-core",
580
+
"futures-task",
581
+
"futures-util",
582
+
]
583
+
584
+
[[package]]
585
+
name = "futures-io"
586
+
version = "0.3.32"
587
+
source = "registry+https://github.com/rust-lang/crates.io-index"
588
+
checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
589
+
590
+
[[package]]
591
+
name = "futures-macro"
592
+
version = "0.3.32"
593
+
source = "registry+https://github.com/rust-lang/crates.io-index"
594
+
checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
595
+
dependencies = [
596
+
"proc-macro2",
597
+
"quote",
598
+
"syn 2.0.117",
599
+
]
600
+
601
+
[[package]]
602
+
name = "futures-sink"
603
+
version = "0.3.32"
604
+
source = "registry+https://github.com/rust-lang/crates.io-index"
605
+
checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
606
+
607
+
[[package]]
608
+
name = "futures-task"
609
+
version = "0.3.32"
610
+
source = "registry+https://github.com/rust-lang/crates.io-index"
611
+
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
612
+
613
+
[[package]]
614
+
name = "futures-util"
615
+
version = "0.3.32"
616
+
source = "registry+https://github.com/rust-lang/crates.io-index"
617
+
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
618
+
dependencies = [
619
+
"futures-channel",
620
+
"futures-core",
621
+
"futures-io",
622
+
"futures-macro",
623
+
"futures-sink",
624
+
"futures-task",
625
+
"memchr",
626
+
"pin-project-lite",
627
+
"slab",
628
+
]
629
+
630
+
[[package]]
631
+
name = "generic-array"
632
+
version = "0.14.7"
633
+
source = "registry+https://github.com/rust-lang/crates.io-index"
634
+
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
635
+
dependencies = [
636
+
"typenum",
637
+
"version_check",
638
+
]
639
+
640
+
[[package]]
641
+
name = "getrandom"
642
+
version = "0.3.4"
643
+
source = "registry+https://github.com/rust-lang/crates.io-index"
644
+
checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
645
+
dependencies = [
646
+
"cfg-if",
647
+
"libc",
648
+
"r-efi 5.3.0",
649
+
"wasip2",
650
+
]
651
+
196
652
[[package]]
197
653
name = "getrandom"
198
654
version = "0.4.2"
···
201
657
dependencies = [
202
658
"cfg-if",
203
659
"libc",
204
-
"r-efi",
660
+
"r-efi 6.0.0",
205
661
"wasip2",
206
662
"wasip3",
207
663
]
···
218
674
source = "registry+https://github.com/rust-lang/crates.io-index"
219
675
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
220
676
dependencies = [
221
-
"foldhash",
677
+
"foldhash 0.1.5",
222
678
]
223
679
224
680
[[package]]
···
226
682
version = "0.16.1"
227
683
source = "registry+https://github.com/rust-lang/crates.io-index"
228
684
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
685
+
dependencies = [
686
+
"allocator-api2",
687
+
"equivalent",
688
+
"foldhash 0.2.0",
689
+
]
229
690
230
691
[[package]]
231
692
name = "heck"
···
233
694
source = "registry+https://github.com/rust-lang/crates.io-index"
234
695
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
235
696
697
+
[[package]]
698
+
name = "hex"
699
+
version = "0.4.3"
700
+
source = "registry+https://github.com/rust-lang/crates.io-index"
701
+
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
702
+
236
703
[[package]]
237
704
name = "human-panic"
238
705
version = "2.0.6"
···
255
722
source = "registry+https://github.com/rust-lang/crates.io-index"
256
723
checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
257
724
725
+
[[package]]
726
+
name = "ident_case"
727
+
version = "1.0.1"
728
+
source = "registry+https://github.com/rust-lang/crates.io-index"
729
+
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
730
+
258
731
[[package]]
259
732
name = "indenter"
260
733
version = "0.3.4"
···
273
746
"serde_core",
274
747
]
275
748
749
+
[[package]]
750
+
name = "indoc"
751
+
version = "2.0.7"
752
+
source = "registry+https://github.com/rust-lang/crates.io-index"
753
+
checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
754
+
dependencies = [
755
+
"rustversion",
756
+
]
757
+
758
+
[[package]]
759
+
name = "instability"
760
+
version = "0.3.11"
761
+
source = "registry+https://github.com/rust-lang/crates.io-index"
762
+
checksum = "357b7205c6cd18dd2c86ed312d1e70add149aea98e7ef72b9fdf0270e555c11d"
763
+
dependencies = [
764
+
"darling",
765
+
"indoc",
766
+
"proc-macro2",
767
+
"quote",
768
+
"syn 2.0.117",
769
+
]
770
+
276
771
[[package]]
277
772
name = "is_terminal_polyfill"
278
773
version = "1.70.2"
279
774
source = "registry+https://github.com/rust-lang/crates.io-index"
280
775
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
281
776
777
+
[[package]]
778
+
name = "itertools"
779
+
version = "0.14.0"
780
+
source = "registry+https://github.com/rust-lang/crates.io-index"
781
+
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
782
+
dependencies = [
783
+
"either",
784
+
]
785
+
282
786
[[package]]
283
787
name = "itoa"
284
788
version = "1.0.17"
285
789
source = "registry+https://github.com/rust-lang/crates.io-index"
286
790
checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
287
791
792
+
[[package]]
793
+
name = "js-sys"
794
+
version = "0.3.91"
795
+
source = "registry+https://github.com/rust-lang/crates.io-index"
796
+
checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"
797
+
dependencies = [
798
+
"once_cell",
799
+
"wasm-bindgen",
800
+
]
801
+
802
+
[[package]]
803
+
name = "kasuari"
804
+
version = "0.4.11"
805
+
source = "registry+https://github.com/rust-lang/crates.io-index"
806
+
checksum = "8fe90c1150662e858c7d5f945089b7517b0a80d8bf7ba4b1b5ffc984e7230a5b"
807
+
dependencies = [
808
+
"hashbrown 0.16.1",
809
+
"portable-atomic",
810
+
"thiserror 2.0.18",
811
+
]
812
+
813
+
[[package]]
814
+
name = "lab"
815
+
version = "0.11.0"
816
+
source = "registry+https://github.com/rust-lang/crates.io-index"
817
+
checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f"
818
+
288
819
[[package]]
289
820
name = "lazy_static"
290
821
version = "1.5.0"
···
303
834
source = "registry+https://github.com/rust-lang/crates.io-index"
304
835
checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
305
836
837
+
[[package]]
838
+
name = "line-clipping"
839
+
version = "0.3.5"
840
+
source = "registry+https://github.com/rust-lang/crates.io-index"
841
+
checksum = "5f4de44e98ddbf09375cbf4d17714d18f39195f4f4894e8524501726fd9a8a4a"
842
+
dependencies = [
843
+
"bitflags 2.11.0",
844
+
]
845
+
846
+
[[package]]
847
+
name = "linux-raw-sys"
848
+
version = "0.12.1"
849
+
source = "registry+https://github.com/rust-lang/crates.io-index"
850
+
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
851
+
852
+
[[package]]
853
+
name = "litrs"
854
+
version = "1.0.0"
855
+
source = "registry+https://github.com/rust-lang/crates.io-index"
856
+
checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
857
+
858
+
[[package]]
859
+
name = "lock_api"
860
+
version = "0.4.14"
861
+
source = "registry+https://github.com/rust-lang/crates.io-index"
862
+
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
863
+
dependencies = [
864
+
"scopeguard",
865
+
]
866
+
306
867
[[package]]
307
868
name = "log"
308
869
version = "0.4.29"
309
870
source = "registry+https://github.com/rust-lang/crates.io-index"
310
871
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
311
872
873
+
[[package]]
874
+
name = "lru"
875
+
version = "0.16.3"
876
+
source = "registry+https://github.com/rust-lang/crates.io-index"
877
+
checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593"
878
+
dependencies = [
879
+
"hashbrown 0.16.1",
880
+
]
881
+
882
+
[[package]]
883
+
name = "mac_address"
884
+
version = "1.1.8"
885
+
source = "registry+https://github.com/rust-lang/crates.io-index"
886
+
checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303"
887
+
dependencies = [
888
+
"nix",
889
+
"winapi",
890
+
]
891
+
312
892
[[package]]
313
893
name = "memchr"
314
894
version = "2.8.0"
315
895
source = "registry+https://github.com/rust-lang/crates.io-index"
316
896
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
317
897
898
+
[[package]]
899
+
name = "memmem"
900
+
version = "0.1.1"
901
+
source = "registry+https://github.com/rust-lang/crates.io-index"
902
+
checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15"
903
+
904
+
[[package]]
905
+
name = "memoffset"
906
+
version = "0.9.1"
907
+
source = "registry+https://github.com/rust-lang/crates.io-index"
908
+
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
909
+
dependencies = [
910
+
"autocfg",
911
+
]
912
+
913
+
[[package]]
914
+
name = "minimal-lexical"
915
+
version = "0.2.1"
916
+
source = "registry+https://github.com/rust-lang/crates.io-index"
917
+
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
918
+
318
919
[[package]]
319
920
name = "miniz_oxide"
320
921
version = "0.8.9"
···
324
925
"adler2",
325
926
]
326
927
928
+
[[package]]
929
+
name = "mio"
930
+
version = "1.1.1"
931
+
source = "registry+https://github.com/rust-lang/crates.io-index"
932
+
checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
933
+
dependencies = [
934
+
"libc",
935
+
"log",
936
+
"wasi",
937
+
"windows-sys 0.61.2",
938
+
]
939
+
940
+
[[package]]
941
+
name = "nix"
942
+
version = "0.29.0"
943
+
source = "registry+https://github.com/rust-lang/crates.io-index"
944
+
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
945
+
dependencies = [
946
+
"bitflags 2.11.0",
947
+
"cfg-if",
948
+
"cfg_aliases",
949
+
"libc",
950
+
"memoffset",
951
+
]
952
+
953
+
[[package]]
954
+
name = "nom"
955
+
version = "7.1.3"
956
+
source = "registry+https://github.com/rust-lang/crates.io-index"
957
+
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
958
+
dependencies = [
959
+
"memchr",
960
+
"minimal-lexical",
961
+
]
962
+
327
963
[[package]]
328
964
name = "ntapi"
329
965
version = "0.4.3"
···
333
969
"winapi",
334
970
]
335
971
972
+
[[package]]
973
+
name = "num-conv"
974
+
version = "0.2.0"
975
+
source = "registry+https://github.com/rust-lang/crates.io-index"
976
+
checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050"
977
+
978
+
[[package]]
979
+
name = "num-derive"
980
+
version = "0.4.2"
981
+
source = "registry+https://github.com/rust-lang/crates.io-index"
982
+
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
983
+
dependencies = [
984
+
"proc-macro2",
985
+
"quote",
986
+
"syn 2.0.117",
987
+
]
988
+
989
+
[[package]]
990
+
name = "num-traits"
991
+
version = "0.2.19"
992
+
source = "registry+https://github.com/rust-lang/crates.io-index"
993
+
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
994
+
dependencies = [
995
+
"autocfg",
996
+
]
997
+
998
+
[[package]]
999
+
name = "num_threads"
1000
+
version = "0.1.7"
1001
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1002
+
checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
1003
+
dependencies = [
1004
+
"libc",
1005
+
]
1006
+
336
1007
[[package]]
337
1008
name = "objc2-core-foundation"
338
1009
version = "0.3.2"
339
1010
source = "registry+https://github.com/rust-lang/crates.io-index"
340
1011
checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
341
1012
dependencies = [
342
-
"bitflags",
1013
+
"bitflags 2.11.0",
343
1014
]
344
1015
345
1016
[[package]]
···
373
1044
source = "registry+https://github.com/rust-lang/crates.io-index"
374
1045
checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
375
1046
1047
+
[[package]]
1048
+
name = "ordered-float"
1049
+
version = "4.6.0"
1050
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1051
+
checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951"
1052
+
dependencies = [
1053
+
"num-traits",
1054
+
]
1055
+
376
1056
[[package]]
377
1057
name = "owo-colors"
378
1058
version = "4.3.0"
379
1059
source = "registry+https://github.com/rust-lang/crates.io-index"
380
1060
checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d"
381
1061
1062
+
[[package]]
1063
+
name = "parking_lot"
1064
+
version = "0.12.5"
1065
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1066
+
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
1067
+
dependencies = [
1068
+
"lock_api",
1069
+
"parking_lot_core",
1070
+
]
1071
+
1072
+
[[package]]
1073
+
name = "parking_lot_core"
1074
+
version = "0.9.12"
1075
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1076
+
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
1077
+
dependencies = [
1078
+
"cfg-if",
1079
+
"libc",
1080
+
"redox_syscall",
1081
+
"smallvec",
1082
+
"windows-link 0.2.1",
1083
+
]
1084
+
1085
+
[[package]]
1086
+
name = "pest"
1087
+
version = "2.8.6"
1088
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1089
+
checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662"
1090
+
dependencies = [
1091
+
"memchr",
1092
+
"ucd-trie",
1093
+
]
1094
+
1095
+
[[package]]
1096
+
name = "pest_derive"
1097
+
version = "2.8.6"
1098
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1099
+
checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77"
1100
+
dependencies = [
1101
+
"pest",
1102
+
"pest_generator",
1103
+
]
1104
+
1105
+
[[package]]
1106
+
name = "pest_generator"
1107
+
version = "2.8.6"
1108
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1109
+
checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f"
1110
+
dependencies = [
1111
+
"pest",
1112
+
"pest_meta",
1113
+
"proc-macro2",
1114
+
"quote",
1115
+
"syn 2.0.117",
1116
+
]
1117
+
1118
+
[[package]]
1119
+
name = "pest_meta"
1120
+
version = "2.8.6"
1121
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1122
+
checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220"
1123
+
dependencies = [
1124
+
"pest",
1125
+
"sha2",
1126
+
]
1127
+
1128
+
[[package]]
1129
+
name = "phf"
1130
+
version = "0.11.3"
1131
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1132
+
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
1133
+
dependencies = [
1134
+
"phf_macros",
1135
+
"phf_shared",
1136
+
]
1137
+
1138
+
[[package]]
1139
+
name = "phf_codegen"
1140
+
version = "0.11.3"
1141
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1142
+
checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
1143
+
dependencies = [
1144
+
"phf_generator",
1145
+
"phf_shared",
1146
+
]
1147
+
1148
+
[[package]]
1149
+
name = "phf_generator"
1150
+
version = "0.11.3"
1151
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1152
+
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
1153
+
dependencies = [
1154
+
"phf_shared",
1155
+
"rand",
1156
+
]
1157
+
1158
+
[[package]]
1159
+
name = "phf_macros"
1160
+
version = "0.11.3"
1161
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1162
+
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
1163
+
dependencies = [
1164
+
"phf_generator",
1165
+
"phf_shared",
1166
+
"proc-macro2",
1167
+
"quote",
1168
+
"syn 2.0.117",
1169
+
]
1170
+
1171
+
[[package]]
1172
+
name = "phf_shared"
1173
+
version = "0.11.3"
1174
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1175
+
checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
1176
+
dependencies = [
1177
+
"siphasher",
1178
+
]
1179
+
382
1180
[[package]]
383
1181
name = "pin-project-lite"
384
1182
version = "0.2.17"
385
1183
source = "registry+https://github.com/rust-lang/crates.io-index"
386
1184
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
387
1185
1186
+
[[package]]
1187
+
name = "portable-atomic"
1188
+
version = "1.13.1"
1189
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1190
+
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
1191
+
1192
+
[[package]]
1193
+
name = "powerfmt"
1194
+
version = "0.2.0"
1195
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1196
+
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
1197
+
388
1198
[[package]]
389
1199
name = "prettyplease"
390
1200
version = "0.2.37"
391
1201
source = "registry+https://github.com/rust-lang/crates.io-index"
392
-
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
1202
+
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
1203
+
dependencies = [
1204
+
"proc-macro2",
1205
+
"syn 2.0.117",
1206
+
]
1207
+
1208
+
[[package]]
1209
+
name = "proc-macro2"
1210
+
version = "1.0.106"
1211
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1212
+
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
1213
+
dependencies = [
1214
+
"unicode-ident",
1215
+
]
1216
+
1217
+
[[package]]
1218
+
name = "quote"
1219
+
version = "1.0.45"
1220
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1221
+
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
1222
+
dependencies = [
1223
+
"proc-macro2",
1224
+
]
1225
+
1226
+
[[package]]
1227
+
name = "r-efi"
1228
+
version = "5.3.0"
1229
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1230
+
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1231
+
1232
+
[[package]]
1233
+
name = "r-efi"
1234
+
version = "6.0.0"
1235
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1236
+
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
1237
+
1238
+
[[package]]
1239
+
name = "rand"
1240
+
version = "0.8.5"
1241
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1242
+
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1243
+
dependencies = [
1244
+
"rand_core",
1245
+
]
1246
+
1247
+
[[package]]
1248
+
name = "rand_core"
1249
+
version = "0.6.4"
1250
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1251
+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1252
+
1253
+
[[package]]
1254
+
name = "ratatui"
1255
+
version = "0.30.0"
1256
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1257
+
checksum = "d1ce67fb8ba4446454d1c8dbaeda0557ff5e94d39d5e5ed7f10a65eb4c8266bc"
1258
+
dependencies = [
1259
+
"instability",
1260
+
"ratatui-core",
1261
+
"ratatui-crossterm",
1262
+
"ratatui-macros",
1263
+
"ratatui-termwiz",
1264
+
"ratatui-widgets",
1265
+
]
1266
+
1267
+
[[package]]
1268
+
name = "ratatui-core"
1269
+
version = "0.1.0"
1270
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1271
+
checksum = "5ef8dea09a92caaf73bff7adb70b76162e5937524058a7e5bff37869cbbec293"
1272
+
dependencies = [
1273
+
"bitflags 2.11.0",
1274
+
"compact_str",
1275
+
"hashbrown 0.16.1",
1276
+
"indoc",
1277
+
"itertools",
1278
+
"kasuari",
1279
+
"lru",
1280
+
"strum",
1281
+
"thiserror 2.0.18",
1282
+
"unicode-segmentation",
1283
+
"unicode-truncate",
1284
+
"unicode-width",
1285
+
]
1286
+
1287
+
[[package]]
1288
+
name = "ratatui-crossterm"
1289
+
version = "0.1.0"
1290
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1291
+
checksum = "577c9b9f652b4c121fb25c6a391dd06406d3b092ba68827e6d2f09550edc54b3"
1292
+
dependencies = [
1293
+
"cfg-if",
1294
+
"crossterm",
1295
+
"instability",
1296
+
"ratatui-core",
1297
+
]
1298
+
1299
+
[[package]]
1300
+
name = "ratatui-macros"
1301
+
version = "0.7.0"
1302
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1303
+
checksum = "a7f1342a13e83e4bb9d0b793d0ea762be633f9582048c892ae9041ef39c936f4"
1304
+
dependencies = [
1305
+
"ratatui-core",
1306
+
"ratatui-widgets",
1307
+
]
1308
+
1309
+
[[package]]
1310
+
name = "ratatui-termwiz"
1311
+
version = "0.1.0"
1312
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1313
+
checksum = "0f76fe0bd0ed4295f0321b1676732e2454024c15a35d01904ddb315afd3d545c"
1314
+
dependencies = [
1315
+
"ratatui-core",
1316
+
"termwiz",
1317
+
]
1318
+
1319
+
[[package]]
1320
+
name = "ratatui-widgets"
1321
+
version = "0.3.0"
1322
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1323
+
checksum = "d7dbfa023cd4e604c2553483820c5fe8aa9d71a42eea5aa77c6e7f35756612db"
1324
+
dependencies = [
1325
+
"bitflags 2.11.0",
1326
+
"hashbrown 0.16.1",
1327
+
"indoc",
1328
+
"instability",
1329
+
"itertools",
1330
+
"line-clipping",
1331
+
"ratatui-core",
1332
+
"strum",
1333
+
"time",
1334
+
"unicode-segmentation",
1335
+
"unicode-width",
1336
+
]
1337
+
1338
+
[[package]]
1339
+
name = "redox_syscall"
1340
+
version = "0.5.18"
1341
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1342
+
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
1343
+
dependencies = [
1344
+
"bitflags 2.11.0",
1345
+
]
1346
+
1347
+
[[package]]
1348
+
name = "regex"
1349
+
version = "1.12.3"
1350
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1351
+
checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
1352
+
dependencies = [
1353
+
"aho-corasick",
1354
+
"memchr",
1355
+
"regex-automata",
1356
+
"regex-syntax",
1357
+
]
1358
+
1359
+
[[package]]
1360
+
name = "regex-automata"
1361
+
version = "0.4.14"
1362
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1363
+
checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
1364
+
dependencies = [
1365
+
"aho-corasick",
1366
+
"memchr",
1367
+
"regex-syntax",
1368
+
]
1369
+
1370
+
[[package]]
1371
+
name = "regex-syntax"
1372
+
version = "0.8.10"
1373
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1374
+
checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
1375
+
1376
+
[[package]]
1377
+
name = "rustc-demangle"
1378
+
version = "0.1.27"
1379
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1380
+
checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
1381
+
1382
+
[[package]]
1383
+
name = "rustc_version"
1384
+
version = "0.4.1"
1385
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1386
+
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
1387
+
dependencies = [
1388
+
"semver",
1389
+
]
1390
+
1391
+
[[package]]
1392
+
name = "rustix"
1393
+
version = "1.1.4"
1394
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1395
+
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
1396
+
dependencies = [
1397
+
"bitflags 2.11.0",
1398
+
"errno",
1399
+
"libc",
1400
+
"linux-raw-sys",
1401
+
"windows-sys 0.61.2",
1402
+
]
1403
+
1404
+
[[package]]
1405
+
name = "rustversion"
1406
+
version = "1.0.22"
1407
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1408
+
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
1409
+
1410
+
[[package]]
1411
+
name = "ryu"
1412
+
version = "1.0.23"
1413
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1414
+
checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
1415
+
1416
+
[[package]]
1417
+
name = "scopeguard"
1418
+
version = "1.2.0"
1419
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1420
+
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1421
+
1422
+
[[package]]
1423
+
name = "semver"
1424
+
version = "1.0.27"
1425
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1426
+
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
1427
+
1428
+
[[package]]
1429
+
name = "serde"
1430
+
version = "1.0.228"
1431
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1432
+
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1433
+
dependencies = [
1434
+
"serde_core",
1435
+
"serde_derive",
1436
+
]
1437
+
1438
+
[[package]]
1439
+
name = "serde_core"
1440
+
version = "1.0.228"
1441
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1442
+
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1443
+
dependencies = [
1444
+
"serde_derive",
1445
+
]
1446
+
1447
+
[[package]]
1448
+
name = "serde_derive"
1449
+
version = "1.0.228"
1450
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1451
+
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1452
+
dependencies = [
1453
+
"proc-macro2",
1454
+
"quote",
1455
+
"syn 2.0.117",
1456
+
]
1457
+
1458
+
[[package]]
1459
+
name = "serde_json"
1460
+
version = "1.0.149"
1461
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1462
+
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1463
+
dependencies = [
1464
+
"itoa",
1465
+
"memchr",
1466
+
"serde",
1467
+
"serde_core",
1468
+
"zmij",
1469
+
]
1470
+
1471
+
[[package]]
1472
+
name = "serde_spanned"
1473
+
version = "1.0.4"
1474
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1475
+
checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
1476
+
dependencies = [
1477
+
"serde_core",
1478
+
]
1479
+
1480
+
[[package]]
1481
+
name = "sha2"
1482
+
version = "0.10.9"
1483
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1484
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
1485
+
dependencies = [
1486
+
"cfg-if",
1487
+
"cpufeatures",
1488
+
"digest",
1489
+
]
1490
+
1491
+
[[package]]
1492
+
name = "sharded-slab"
1493
+
version = "0.1.7"
1494
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1495
+
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
1496
+
dependencies = [
1497
+
"lazy_static",
1498
+
]
1499
+
1500
+
[[package]]
1501
+
name = "signal-hook"
1502
+
version = "0.3.18"
1503
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1504
+
checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
1505
+
dependencies = [
1506
+
"libc",
1507
+
"signal-hook-registry",
1508
+
]
1509
+
1510
+
[[package]]
1511
+
name = "signal-hook"
1512
+
version = "0.4.3"
1513
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1514
+
checksum = "3b57709da74f9ff9f4a27dce9526eec25ca8407c45a7887243b031a58935fb8e"
1515
+
dependencies = [
1516
+
"libc",
1517
+
"signal-hook-registry",
1518
+
]
1519
+
1520
+
[[package]]
1521
+
name = "signal-hook-mio"
1522
+
version = "0.2.5"
1523
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1524
+
checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc"
1525
+
dependencies = [
1526
+
"libc",
1527
+
"mio",
1528
+
"signal-hook 0.3.18",
1529
+
]
1530
+
1531
+
[[package]]
1532
+
name = "signal-hook-registry"
1533
+
version = "1.4.8"
1534
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1535
+
checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
1536
+
dependencies = [
1537
+
"errno",
1538
+
"libc",
1539
+
]
1540
+
1541
+
[[package]]
1542
+
name = "siphasher"
1543
+
version = "1.0.2"
1544
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1545
+
checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
1546
+
1547
+
[[package]]
1548
+
name = "slab"
1549
+
version = "0.4.12"
1550
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1551
+
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
1552
+
1553
+
[[package]]
1554
+
name = "smallvec"
1555
+
version = "1.15.1"
1556
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1557
+
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
1558
+
1559
+
[[package]]
1560
+
name = "socket2"
1561
+
version = "0.6.2"
1562
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1563
+
checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0"
1564
+
dependencies = [
1565
+
"libc",
1566
+
"windows-sys 0.60.2",
1567
+
]
1568
+
1569
+
[[package]]
1570
+
name = "static_assertions"
1571
+
version = "1.1.0"
1572
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1573
+
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
1574
+
1575
+
[[package]]
1576
+
name = "strsim"
1577
+
version = "0.11.1"
1578
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1579
+
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
1580
+
1581
+
[[package]]
1582
+
name = "strum"
1583
+
version = "0.27.2"
1584
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1585
+
checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf"
1586
+
dependencies = [
1587
+
"strum_macros",
1588
+
]
1589
+
1590
+
[[package]]
1591
+
name = "strum_macros"
1592
+
version = "0.27.2"
1593
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1594
+
checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
1595
+
dependencies = [
1596
+
"heck",
1597
+
"proc-macro2",
1598
+
"quote",
1599
+
"syn 2.0.117",
1600
+
]
1601
+
1602
+
[[package]]
1603
+
name = "syn"
1604
+
version = "1.0.109"
1605
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1606
+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
393
1607
dependencies = [
394
1608
"proc-macro2",
395
-
"syn",
1609
+
"quote",
1610
+
"unicode-ident",
396
1611
]
397
1612
398
1613
[[package]]
399
-
name = "proc-macro2"
400
-
version = "1.0.106"
1614
+
name = "syn"
1615
+
version = "2.0.117"
401
1616
source = "registry+https://github.com/rust-lang/crates.io-index"
402
-
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
1617
+
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
403
1618
dependencies = [
1619
+
"proc-macro2",
1620
+
"quote",
404
1621
"unicode-ident",
405
1622
]
406
1623
407
1624
[[package]]
408
-
name = "quote"
409
-
version = "1.0.45"
1625
+
name = "sysinfo"
1626
+
version = "0.37.2"
410
1627
source = "registry+https://github.com/rust-lang/crates.io-index"
411
-
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
1628
+
checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
412
1629
dependencies = [
413
-
"proc-macro2",
1630
+
"libc",
1631
+
"memchr",
1632
+
"ntapi",
1633
+
"objc2-core-foundation",
1634
+
"objc2-io-kit",
1635
+
"windows",
414
1636
]
415
1637
416
1638
[[package]]
417
-
name = "r-efi"
418
-
version = "6.0.0"
1639
+
name = "terminfo"
1640
+
version = "0.9.0"
419
1641
source = "registry+https://github.com/rust-lang/crates.io-index"
420
-
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
1642
+
checksum = "d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662"
1643
+
dependencies = [
1644
+
"fnv",
1645
+
"nom",
1646
+
"phf",
1647
+
"phf_codegen",
1648
+
]
421
1649
422
1650
[[package]]
423
-
name = "rustc-demangle"
424
-
version = "0.1.27"
1651
+
name = "termios"
1652
+
version = "0.3.3"
425
1653
source = "registry+https://github.com/rust-lang/crates.io-index"
426
-
checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
1654
+
checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
1655
+
dependencies = [
1656
+
"libc",
1657
+
]
427
1658
428
1659
[[package]]
429
-
name = "semver"
430
-
version = "1.0.27"
1660
+
name = "termwiz"
1661
+
version = "0.23.3"
431
1662
source = "registry+https://github.com/rust-lang/crates.io-index"
432
-
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
1663
+
checksum = "4676b37242ccbd1aabf56edb093a4827dc49086c0ffd764a5705899e0f35f8f7"
1664
+
dependencies = [
1665
+
"anyhow",
1666
+
"base64",
1667
+
"bitflags 2.11.0",
1668
+
"fancy-regex",
1669
+
"filedescriptor",
1670
+
"finl_unicode",
1671
+
"fixedbitset",
1672
+
"hex",
1673
+
"lazy_static",
1674
+
"libc",
1675
+
"log",
1676
+
"memmem",
1677
+
"nix",
1678
+
"num-derive",
1679
+
"num-traits",
1680
+
"ordered-float",
1681
+
"pest",
1682
+
"pest_derive",
1683
+
"phf",
1684
+
"sha2",
1685
+
"signal-hook 0.3.18",
1686
+
"siphasher",
1687
+
"terminfo",
1688
+
"termios",
1689
+
"thiserror 1.0.69",
1690
+
"ucd-trie",
1691
+
"unicode-segmentation",
1692
+
"vtparse",
1693
+
"wezterm-bidi",
1694
+
"wezterm-blob-leases",
1695
+
"wezterm-color-types",
1696
+
"wezterm-dynamic",
1697
+
"wezterm-input-types",
1698
+
"winapi",
1699
+
]
433
1700
434
1701
[[package]]
435
-
name = "serde"
436
-
version = "1.0.228"
1702
+
name = "thiserror"
1703
+
version = "1.0.69"
437
1704
source = "registry+https://github.com/rust-lang/crates.io-index"
438
-
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1705
+
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
439
1706
dependencies = [
440
-
"serde_core",
1707
+
"thiserror-impl 1.0.69",
441
1708
]
442
1709
443
1710
[[package]]
444
-
name = "serde_core"
445
-
version = "1.0.228"
1711
+
name = "thiserror"
1712
+
version = "2.0.18"
446
1713
source = "registry+https://github.com/rust-lang/crates.io-index"
447
-
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1714
+
checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
448
1715
dependencies = [
449
-
"serde_derive",
1716
+
"thiserror-impl 2.0.18",
450
1717
]
451
1718
452
1719
[[package]]
453
-
name = "serde_derive"
454
-
version = "1.0.228"
1720
+
name = "thiserror-impl"
1721
+
version = "1.0.69"
455
1722
source = "registry+https://github.com/rust-lang/crates.io-index"
456
-
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1723
+
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
457
1724
dependencies = [
458
1725
"proc-macro2",
459
1726
"quote",
460
-
"syn",
1727
+
"syn 2.0.117",
461
1728
]
462
1729
463
1730
[[package]]
464
-
name = "serde_json"
465
-
version = "1.0.149"
1731
+
name = "thiserror-impl"
1732
+
version = "2.0.18"
466
1733
source = "registry+https://github.com/rust-lang/crates.io-index"
467
-
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1734
+
checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
468
1735
dependencies = [
469
-
"itoa",
470
-
"memchr",
471
-
"serde",
472
-
"serde_core",
473
-
"zmij",
1736
+
"proc-macro2",
1737
+
"quote",
1738
+
"syn 2.0.117",
474
1739
]
475
1740
476
1741
[[package]]
477
-
name = "serde_spanned"
478
-
version = "1.0.4"
1742
+
name = "thread_local"
1743
+
version = "1.1.9"
479
1744
source = "registry+https://github.com/rust-lang/crates.io-index"
480
-
checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776"
1745
+
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
481
1746
dependencies = [
482
-
"serde_core",
1747
+
"cfg-if",
483
1748
]
484
1749
485
1750
[[package]]
486
-
name = "sharded-slab"
487
-
version = "0.1.7"
1751
+
name = "time"
1752
+
version = "0.3.47"
488
1753
source = "registry+https://github.com/rust-lang/crates.io-index"
489
-
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
1754
+
checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
490
1755
dependencies = [
491
-
"lazy_static",
1756
+
"deranged",
1757
+
"libc",
1758
+
"num-conv",
1759
+
"num_threads",
1760
+
"powerfmt",
1761
+
"serde_core",
1762
+
"time-core",
492
1763
]
493
1764
494
1765
[[package]]
495
-
name = "syn"
496
-
version = "2.0.117"
1766
+
name = "time-core"
1767
+
version = "0.1.8"
497
1768
source = "registry+https://github.com/rust-lang/crates.io-index"
498
-
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
1769
+
checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
1770
+
1771
+
[[package]]
1772
+
name = "tokio"
1773
+
version = "1.50.0"
1774
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1775
+
checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
499
1776
dependencies = [
500
-
"proc-macro2",
501
-
"quote",
502
-
"unicode-ident",
1777
+
"bytes",
1778
+
"libc",
1779
+
"mio",
1780
+
"parking_lot",
1781
+
"pin-project-lite",
1782
+
"signal-hook-registry",
1783
+
"socket2",
1784
+
"tokio-macros",
1785
+
"windows-sys 0.61.2",
503
1786
]
504
1787
505
1788
[[package]]
506
-
name = "sysinfo"
507
-
version = "0.37.2"
1789
+
name = "tokio-macros"
1790
+
version = "2.6.0"
508
1791
source = "registry+https://github.com/rust-lang/crates.io-index"
509
-
checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
1792
+
checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
510
1793
dependencies = [
511
-
"libc",
512
-
"memchr",
513
-
"ntapi",
514
-
"objc2-core-foundation",
515
-
"objc2-io-kit",
516
-
"windows",
1794
+
"proc-macro2",
1795
+
"quote",
1796
+
"syn 2.0.117",
517
1797
]
518
1798
519
1799
[[package]]
520
-
name = "thread_local"
521
-
version = "1.1.9"
1800
+
name = "tokio-util"
1801
+
version = "0.7.18"
522
1802
source = "registry+https://github.com/rust-lang/crates.io-index"
523
-
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
1803
+
checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
524
1804
dependencies = [
525
-
"cfg-if",
1805
+
"bytes",
1806
+
"futures-core",
1807
+
"futures-sink",
1808
+
"pin-project-lite",
1809
+
"tokio",
526
1810
]
527
1811
528
1812
[[package]]
···
571
1855
dependencies = [
572
1856
"proc-macro2",
573
1857
"quote",
574
-
"syn",
1858
+
"syn 2.0.117",
575
1859
]
576
1860
577
1861
[[package]]
···
605
1889
"tracing-core",
606
1890
]
607
1891
1892
+
[[package]]
1893
+
name = "typenum"
1894
+
version = "1.19.0"
1895
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1896
+
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
1897
+
1898
+
[[package]]
1899
+
name = "ucd-trie"
1900
+
version = "0.1.7"
1901
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1902
+
checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
1903
+
608
1904
[[package]]
609
1905
name = "unicode-ident"
610
1906
version = "1.0.24"
611
1907
source = "registry+https://github.com/rust-lang/crates.io-index"
612
1908
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
613
1909
1910
+
[[package]]
1911
+
name = "unicode-segmentation"
1912
+
version = "1.12.0"
1913
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1914
+
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
1915
+
1916
+
[[package]]
1917
+
name = "unicode-truncate"
1918
+
version = "2.0.1"
1919
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1920
+
checksum = "16b380a1238663e5f8a691f9039c73e1cdae598a30e9855f541d29b08b53e9a5"
1921
+
dependencies = [
1922
+
"itertools",
1923
+
"unicode-segmentation",
1924
+
"unicode-width",
1925
+
]
1926
+
1927
+
[[package]]
1928
+
name = "unicode-width"
1929
+
version = "0.2.2"
1930
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1931
+
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
1932
+
614
1933
[[package]]
615
1934
name = "unicode-xid"
616
1935
version = "0.2.6"
···
629
1948
source = "registry+https://github.com/rust-lang/crates.io-index"
630
1949
checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb"
631
1950
dependencies = [
632
-
"getrandom",
1951
+
"atomic",
1952
+
"getrandom 0.4.2",
1953
+
"js-sys",
1954
+
"wasm-bindgen",
633
1955
]
634
1956
635
1957
[[package]]
···
638
1960
source = "registry+https://github.com/rust-lang/crates.io-index"
639
1961
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
640
1962
1963
+
[[package]]
1964
+
name = "version_check"
1965
+
version = "0.9.5"
1966
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1967
+
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
1968
+
1969
+
[[package]]
1970
+
name = "vtparse"
1971
+
version = "0.6.2"
1972
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1973
+
checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0"
1974
+
dependencies = [
1975
+
"utf8parse",
1976
+
]
1977
+
1978
+
[[package]]
1979
+
name = "wasi"
1980
+
version = "0.11.1+wasi-snapshot-preview1"
1981
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1982
+
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
1983
+
641
1984
[[package]]
642
1985
name = "wasip2"
643
1986
version = "1.0.2+wasi-0.2.9"
···
656
1999
"wit-bindgen",
657
2000
]
658
2001
2002
+
[[package]]
2003
+
name = "wasm-bindgen"
2004
+
version = "0.2.114"
2005
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2006
+
checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e"
2007
+
dependencies = [
2008
+
"cfg-if",
2009
+
"once_cell",
2010
+
"rustversion",
2011
+
"wasm-bindgen-macro",
2012
+
"wasm-bindgen-shared",
2013
+
]
2014
+
2015
+
[[package]]
2016
+
name = "wasm-bindgen-macro"
2017
+
version = "0.2.114"
2018
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2019
+
checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
2020
+
dependencies = [
2021
+
"quote",
2022
+
"wasm-bindgen-macro-support",
2023
+
]
2024
+
2025
+
[[package]]
2026
+
name = "wasm-bindgen-macro-support"
2027
+
version = "0.2.114"
2028
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2029
+
checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
2030
+
dependencies = [
2031
+
"bumpalo",
2032
+
"proc-macro2",
2033
+
"quote",
2034
+
"syn 2.0.117",
2035
+
"wasm-bindgen-shared",
2036
+
]
2037
+
2038
+
[[package]]
2039
+
name = "wasm-bindgen-shared"
2040
+
version = "0.2.114"
2041
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2042
+
checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16"
2043
+
dependencies = [
2044
+
"unicode-ident",
2045
+
]
2046
+
659
2047
[[package]]
660
2048
name = "wasm-encoder"
661
2049
version = "0.244.0"
···
684
2072
source = "registry+https://github.com/rust-lang/crates.io-index"
685
2073
checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
686
2074
dependencies = [
687
-
"bitflags",
2075
+
"bitflags 2.11.0",
688
2076
"hashbrown 0.15.5",
689
2077
"indexmap",
690
2078
"semver",
691
2079
]
692
2080
2081
+
[[package]]
2082
+
name = "wezterm-bidi"
2083
+
version = "0.2.3"
2084
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2085
+
checksum = "0c0a6e355560527dd2d1cf7890652f4f09bb3433b6aadade4c9b5ed76de5f3ec"
2086
+
dependencies = [
2087
+
"log",
2088
+
"wezterm-dynamic",
2089
+
]
2090
+
2091
+
[[package]]
2092
+
name = "wezterm-blob-leases"
2093
+
version = "0.1.1"
2094
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2095
+
checksum = "692daff6d93d94e29e4114544ef6d5c942a7ed998b37abdc19b17136ea428eb7"
2096
+
dependencies = [
2097
+
"getrandom 0.3.4",
2098
+
"mac_address",
2099
+
"sha2",
2100
+
"thiserror 1.0.69",
2101
+
"uuid",
2102
+
]
2103
+
2104
+
[[package]]
2105
+
name = "wezterm-color-types"
2106
+
version = "0.3.0"
2107
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2108
+
checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296"
2109
+
dependencies = [
2110
+
"csscolorparser",
2111
+
"deltae",
2112
+
"lazy_static",
2113
+
"wezterm-dynamic",
2114
+
]
2115
+
2116
+
[[package]]
2117
+
name = "wezterm-dynamic"
2118
+
version = "0.2.1"
2119
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2120
+
checksum = "5f2ab60e120fd6eaa68d9567f3226e876684639d22a4219b313ff69ec0ccd5ac"
2121
+
dependencies = [
2122
+
"log",
2123
+
"ordered-float",
2124
+
"strsim",
2125
+
"thiserror 1.0.69",
2126
+
"wezterm-dynamic-derive",
2127
+
]
2128
+
2129
+
[[package]]
2130
+
name = "wezterm-dynamic-derive"
2131
+
version = "0.1.1"
2132
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2133
+
checksum = "46c0cf2d539c645b448eaffec9ec494b8b19bd5077d9e58cb1ae7efece8d575b"
2134
+
dependencies = [
2135
+
"proc-macro2",
2136
+
"quote",
2137
+
"syn 1.0.109",
2138
+
]
2139
+
2140
+
[[package]]
2141
+
name = "wezterm-input-types"
2142
+
version = "0.1.0"
2143
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2144
+
checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e"
2145
+
dependencies = [
2146
+
"bitflags 1.3.2",
2147
+
"euclid",
2148
+
"lazy_static",
2149
+
"serde",
2150
+
"wezterm-dynamic",
2151
+
]
2152
+
693
2153
[[package]]
694
2154
name = "winapi"
695
2155
version = "0.3.9"
···
766
2226
dependencies = [
767
2227
"proc-macro2",
768
2228
"quote",
769
-
"syn",
2229
+
"syn 2.0.117",
770
2230
]
771
2231
772
2232
[[package]]
···
777
2237
dependencies = [
778
2238
"proc-macro2",
779
2239
"quote",
780
-
"syn",
2240
+
"syn 2.0.117",
781
2241
]
782
2242
783
2243
[[package]]
···
826
2286
source = "registry+https://github.com/rust-lang/crates.io-index"
827
2287
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
828
2288
dependencies = [
829
-
"windows-targets",
2289
+
"windows-targets 0.52.6",
2290
+
]
2291
+
2292
+
[[package]]
2293
+
name = "windows-sys"
2294
+
version = "0.60.2"
2295
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2296
+
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
2297
+
dependencies = [
2298
+
"windows-targets 0.53.5",
830
2299
]
831
2300
832
2301
[[package]]
···
844
2313
source = "registry+https://github.com/rust-lang/crates.io-index"
845
2314
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
846
2315
dependencies = [
847
-
"windows_aarch64_gnullvm",
848
-
"windows_aarch64_msvc",
849
-
"windows_i686_gnu",
850
-
"windows_i686_gnullvm",
851
-
"windows_i686_msvc",
852
-
"windows_x86_64_gnu",
853
-
"windows_x86_64_gnullvm",
854
-
"windows_x86_64_msvc",
2316
+
"windows_aarch64_gnullvm 0.52.6",
2317
+
"windows_aarch64_msvc 0.52.6",
2318
+
"windows_i686_gnu 0.52.6",
2319
+
"windows_i686_gnullvm 0.52.6",
2320
+
"windows_i686_msvc 0.52.6",
2321
+
"windows_x86_64_gnu 0.52.6",
2322
+
"windows_x86_64_gnullvm 0.52.6",
2323
+
"windows_x86_64_msvc 0.52.6",
2324
+
]
2325
+
2326
+
[[package]]
2327
+
name = "windows-targets"
2328
+
version = "0.53.5"
2329
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2330
+
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
2331
+
dependencies = [
2332
+
"windows-link 0.2.1",
2333
+
"windows_aarch64_gnullvm 0.53.1",
2334
+
"windows_aarch64_msvc 0.53.1",
2335
+
"windows_i686_gnu 0.53.1",
2336
+
"windows_i686_gnullvm 0.53.1",
2337
+
"windows_i686_msvc 0.53.1",
2338
+
"windows_x86_64_gnu 0.53.1",
2339
+
"windows_x86_64_gnullvm 0.53.1",
2340
+
"windows_x86_64_msvc 0.53.1",
855
2341
]
856
2342
857
2343
[[package]]
···
869
2355
source = "registry+https://github.com/rust-lang/crates.io-index"
870
2356
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
871
2357
2358
+
[[package]]
2359
+
name = "windows_aarch64_gnullvm"
2360
+
version = "0.53.1"
2361
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2362
+
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
2363
+
872
2364
[[package]]
873
2365
name = "windows_aarch64_msvc"
874
2366
version = "0.52.6"
875
2367
source = "registry+https://github.com/rust-lang/crates.io-index"
876
2368
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
877
2369
2370
+
[[package]]
2371
+
name = "windows_aarch64_msvc"
2372
+
version = "0.53.1"
2373
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2374
+
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
2375
+
878
2376
[[package]]
879
2377
name = "windows_i686_gnu"
880
2378
version = "0.52.6"
881
2379
source = "registry+https://github.com/rust-lang/crates.io-index"
882
2380
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
883
2381
2382
+
[[package]]
2383
+
name = "windows_i686_gnu"
2384
+
version = "0.53.1"
2385
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2386
+
checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
2387
+
884
2388
[[package]]
885
2389
name = "windows_i686_gnullvm"
886
2390
version = "0.52.6"
887
2391
source = "registry+https://github.com/rust-lang/crates.io-index"
888
2392
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
889
2393
2394
+
[[package]]
2395
+
name = "windows_i686_gnullvm"
2396
+
version = "0.53.1"
2397
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2398
+
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
2399
+
890
2400
[[package]]
891
2401
name = "windows_i686_msvc"
892
2402
version = "0.52.6"
893
2403
source = "registry+https://github.com/rust-lang/crates.io-index"
894
2404
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
895
2405
2406
+
[[package]]
2407
+
name = "windows_i686_msvc"
2408
+
version = "0.53.1"
2409
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2410
+
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
2411
+
896
2412
[[package]]
897
2413
name = "windows_x86_64_gnu"
898
2414
version = "0.52.6"
899
2415
source = "registry+https://github.com/rust-lang/crates.io-index"
900
2416
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
901
2417
2418
+
[[package]]
2419
+
name = "windows_x86_64_gnu"
2420
+
version = "0.53.1"
2421
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2422
+
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
2423
+
902
2424
[[package]]
903
2425
name = "windows_x86_64_gnullvm"
904
2426
version = "0.52.6"
905
2427
source = "registry+https://github.com/rust-lang/crates.io-index"
906
2428
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
907
2429
2430
+
[[package]]
2431
+
name = "windows_x86_64_gnullvm"
2432
+
version = "0.53.1"
2433
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2434
+
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
2435
+
908
2436
[[package]]
909
2437
name = "windows_x86_64_msvc"
910
2438
version = "0.52.6"
911
2439
source = "registry+https://github.com/rust-lang/crates.io-index"
912
2440
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
913
2441
2442
+
[[package]]
2443
+
name = "windows_x86_64_msvc"
2444
+
version = "0.53.1"
2445
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2446
+
checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
2447
+
914
2448
[[package]]
915
2449
name = "wit-bindgen"
916
2450
version = "0.51.0"
···
941
2475
"heck",
942
2476
"indexmap",
943
2477
"prettyplease",
944
-
"syn",
2478
+
"syn 2.0.117",
945
2479
"wasm-metadata",
946
2480
"wit-bindgen-core",
947
2481
"wit-component",
···
957
2491
"prettyplease",
958
2492
"proc-macro2",
959
2493
"quote",
960
-
"syn",
2494
+
"syn 2.0.117",
961
2495
"wit-bindgen-core",
962
2496
"wit-bindgen-rust",
963
2497
]
···
969
2503
checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
970
2504
dependencies = [
971
2505
"anyhow",
972
-
"bitflags",
2506
+
"bitflags 2.11.0",
973
2507
"indexmap",
974
2508
"log",
975
2509
"serde",
+8
-1
Cargo.toml
+8
-1
Cargo.toml
···
44
44
workspace = true
45
45
46
46
[dependencies]
47
-
tracing = {workspace = true}
47
+
tracing.workspace = true
48
48
color-eyre = "0.6.5"
49
49
human-panic = "2.0.6"
50
50
better-panic = "0.3.0"
51
+
crossterm = { version = "0.29.0", features = ["event-stream"] }
52
+
futures = "0.3.32"
53
+
ratatui = "0.30.0"
54
+
serde = "1.0.228"
55
+
tokio = { version = "1.50.0", features = ["full"] }
56
+
tokio-util = "0.7.18"
57
+
signal-hook = "0.4.3"
+1
src/main.rs
+1
src/main.rs
+275
src/tui.rs
+275
src/tui.rs
···
1
+
use std::{
2
+
io::{Stdout, stdout},
3
+
ops::{Deref, DerefMut},
4
+
time::Duration,
5
+
};
6
+
7
+
use color_eyre::eyre::Result;
8
+
use crossterm::{
9
+
cursor,
10
+
event::{
11
+
DisableBracketedPaste, DisableMouseCapture, EnableBracketedPaste, EnableMouseCapture,
12
+
EventStream, KeyEvent, KeyEventKind, MouseEvent,
13
+
},
14
+
terminal::{EnterAlternateScreen, LeaveAlternateScreen, enable_raw_mode},
15
+
};
16
+
use ratatui::{Terminal, prelude::CrosstermBackend};
17
+
use tokio::{
18
+
sync::mpsc::{self, UnboundedReceiver, UnboundedSender},
19
+
task::JoinHandle,
20
+
time::interval,
21
+
};
22
+
use tokio_util::sync::CancellationToken;
23
+
use tracing::error;
24
+
25
+
/// Events processed by the whole application.
26
+
pub enum Event {
27
+
/// Application initialized
28
+
Init,
29
+
30
+
/// Application quit
31
+
Quit,
32
+
33
+
/// Application error
34
+
Error,
35
+
36
+
/// Application closed
37
+
Closed,
38
+
39
+
/// Tick = input refresh rate
40
+
Tick,
41
+
42
+
/// Render application
43
+
Render,
44
+
45
+
/// User enters application
46
+
FocusGained,
47
+
48
+
/// User leaves application
49
+
FocusLost,
50
+
51
+
/// Paste buffer
52
+
Paste(String),
53
+
54
+
/// any key event
55
+
Key(KeyEvent),
56
+
57
+
/// any mouse event
58
+
Mouse(MouseEvent),
59
+
60
+
/// Application resize
61
+
Resize(u16, u16),
62
+
}
63
+
64
+
/// A TUI which supports the general things you would want out of a TUI abstraction.
65
+
pub struct Tui {
66
+
pub terminal: Terminal<CrosstermBackend<Stdout>>,
67
+
pub task: JoinHandle<()>,
68
+
pub cancellation_token: CancellationToken,
69
+
pub event_rx: UnboundedReceiver<Event>,
70
+
pub event_tx: UnboundedSender<Event>,
71
+
pub frame_rate: f64,
72
+
pub tick_rate: f64,
73
+
pub mouse_enabled: bool,
74
+
pub paste_enabled: bool,
75
+
}
76
+
77
+
impl Tui {
78
+
/// Creates a new TUI.
79
+
pub fn new() -> Result<Self> {
80
+
let (event_tx, event_rx) = mpsc::unbounded_channel();
81
+
Ok(Self {
82
+
terminal: Terminal::new(CrosstermBackend::new(stdout()))?,
83
+
task: tokio::spawn(async {}),
84
+
cancellation_token: CancellationToken::new(),
85
+
event_rx,
86
+
event_tx,
87
+
frame_rate: 60.0,
88
+
tick_rate: 4.0,
89
+
mouse_enabled: false,
90
+
paste_enabled: false,
91
+
})
92
+
}
93
+
94
+
/// Set the tick rate, which is how often the TUI should
95
+
/// source events per second.
96
+
pub const fn with_tick_rate(mut self, tick_rate: f64) -> Self {
97
+
self.tick_rate = tick_rate;
98
+
self
99
+
}
100
+
101
+
/// Set the frame rate.
102
+
pub const fn with_frame_rate(mut self, frame_rate: f64) -> Self {
103
+
self.frame_rate = frame_rate;
104
+
self
105
+
}
106
+
107
+
/// Enable mouse interactions.
108
+
pub const fn set_mouse_enable(mut self, mouse_enabled: bool) -> Self {
109
+
self.mouse_enabled = mouse_enabled;
110
+
self
111
+
}
112
+
113
+
/// Enable pasting into the TUI.
114
+
pub const fn set_paste_enabled(mut self, paste_enabled: bool) -> Self {
115
+
self.paste_enabled = paste_enabled;
116
+
self
117
+
}
118
+
119
+
/// Begin the TUI event loop
120
+
pub fn start(&mut self) {
121
+
self.cancel();
122
+
123
+
self.cancellation_token = CancellationToken::new();
124
+
let event_loop = Self::event_loop(
125
+
self.event_tx.clone(),
126
+
self.cancellation_token.clone(),
127
+
self.tick_rate,
128
+
self.frame_rate,
129
+
);
130
+
self.task = tokio::spawn(async {
131
+
event_loop.await;
132
+
});
133
+
}
134
+
135
+
/// The event-loop for the TUI which sources events from crossterm.
136
+
async fn event_loop(
137
+
event_tx: UnboundedSender<Event>,
138
+
cancellation_token: CancellationToken,
139
+
tick_rate: f64,
140
+
frame_rate: f64,
141
+
) {
142
+
use crossterm::event::Event as CrosstermEvent;
143
+
144
+
let mut event_stream = EventStream::new();
145
+
let mut tick_interval = interval(Duration::from_secs_f64(1.0 / tick_rate));
146
+
let mut render_interval = interval(Duration::from_secs_f64(1.0 / frame_rate));
147
+
148
+
event_tx
149
+
.send(Event::Init)
150
+
.expect("Tui::event_loop: Failed to send init event.");
151
+
loop {
152
+
let event = tokio::select! {
153
+
_ = cancellation_token.cancelled() => {
154
+
break;
155
+
}
156
+
_ = tick_interval.tick() => Event::Tick,
157
+
_ = render_interval.tick() => Event::Render,
158
+
crossterm_event = event_stream.next().fuse() => match crossterm_event {
159
+
Some(Ok(event)) => match event {
160
+
// we only care about press down events,
161
+
// not doing anything related to up / down keypresses
162
+
CrosstermEvent::Key(key) if key.kind == KeyEventKind::Press => Event::Key(key),
163
+
CrosstermEvent::Mouse(mouse) => Event::Mouse(mouse),
164
+
CrosstermEvent::Resize(x, y) => Event::Resize(x, y),
165
+
CrosstermEvent::FocusLost => {Event::FocusLost },
166
+
CrosstermEvent::FocusGained => {Event::FocusGained },
167
+
CrosstermEvent::Paste(s)=> {Event::Paste(s)},
168
+
_ => continue,
169
+
170
+
}
171
+
Some(Err(_)) => Event::Error,
172
+
None => break,
173
+
}
174
+
};
175
+
if event_tx.send(event).is_err() {
176
+
// no more receiver
177
+
break;
178
+
}
179
+
}
180
+
181
+
cancellation_token.cancel();
182
+
}
183
+
184
+
/// Stops the TUI by canceling the event-loop.
185
+
pub fn stop(&self) {
186
+
self.cancel();
187
+
let mut counter = 0;
188
+
while !self.task.is_finished() {
189
+
std::thread::sleep(Duration::from_millis(1));
190
+
counter += 1;
191
+
if counter > 50 {
192
+
self.task.abort();
193
+
}
194
+
if counter > 100 {
195
+
error!("Failed to abort task in 100 milliseconds for some reason");
196
+
break;
197
+
}
198
+
}
199
+
}
200
+
201
+
// Enters into the TUI by enabling alternate screen and starting event-loop.
202
+
pub fn enter(&mut self) -> Result<()> {
203
+
enable_raw_mode()?;
204
+
crossterm::execute!(stdout(), EnterAlternateScreen, cursor::Hide)?;
205
+
if self.mouse_enabled {
206
+
crossterm::execute!(stdout(), EnableMouseCapture)?;
207
+
}
208
+
if self.paste_enabled {
209
+
crossterm::execute!(stdout(), EnableBracketedPaste)?;
210
+
}
211
+
self.start();
212
+
Ok(())
213
+
}
214
+
215
+
/// Exits the tui, by leaving alternate screen.
216
+
pub fn exit(&mut self) -> color_eyre::Result<()> {
217
+
self.stop();
218
+
if crossterm::terminal::is_raw_mode_enabled()? {
219
+
self.flush()?;
220
+
if self.paste_enabled {
221
+
crossterm::execute!(stdout(), DisableBracketedPaste)?;
222
+
}
223
+
if self.mouse_enabled {
224
+
crossterm::execute!(stdout(), DisableMouseCapture)?;
225
+
}
226
+
crossterm::execute!(stdout(), LeaveAlternateScreen, cursor::Show)?;
227
+
crossterm::terminal::disable_raw_mode()?;
228
+
}
229
+
Ok(())
230
+
}
231
+
232
+
/// Cancel the internal event-loop.
233
+
pub fn cancel(&self) {
234
+
self.cancellation_token.cancel();
235
+
}
236
+
237
+
/// Suspend the TUI.
238
+
pub fn suspend(&mut self) -> color_eyre::Result<()> {
239
+
self.exit()?;
240
+
#[cfg(not(windows))]
241
+
signal_hook::low_level::raise(signal_hook::consts::signal::SIGTSTP)?;
242
+
Ok(())
243
+
}
244
+
245
+
/// Resume the TUI.
246
+
pub fn resume(&mut self) -> color_eyre::Result<()> {
247
+
self.enter()?;
248
+
Ok(())
249
+
}
250
+
251
+
/// Get the next event.
252
+
pub async fn next_event(&mut self) -> Option<Event> {
253
+
self.event_rx.recv().await
254
+
}
255
+
}
256
+
257
+
impl Deref for Tui {
258
+
type Target = ratatui::Terminal<CrosstermBackend<Stdout>>;
259
+
260
+
fn deref(&self) -> &Self::Target {
261
+
&self.terminal
262
+
}
263
+
}
264
+
265
+
impl DerefMut for Tui {
266
+
fn deref_mut(&mut self) -> &mut Self::Target {
267
+
&mut self.terminal
268
+
}
269
+
}
270
+
271
+
impl Drop for Tui {
272
+
fn drop(&mut self) {
273
+
self.exit().unwrap();
274
+
}
275
+
}
History
1 round
0 comments
suri.codes
submitted
#0
1 commit
expand
collapse
feat/tui: create TUI abstraction
expand 0 comments
closed without merging