├── .cargo └── config.toml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── favs.kdl ├── pictures ├── HELP_COMMANDS.jpeg └── PREVIEW.jpeg └── src ├── favs.rs ├── favs_mode.rs ├── filter.rs ├── help.rs ├── lib.rs ├── main.rs └── navigate.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | favs.json 3 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.24.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler2" 16 | version = "2.0.0" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.3" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "android-tzdata" 31 | version = "0.1.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 34 | 35 | [[package]] 36 | name = "android_system_properties" 37 | version = "0.1.5" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 40 | dependencies = [ 41 | "libc", 42 | ] 43 | 44 | [[package]] 45 | name = "anyhow" 46 | version = "1.0.93" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" 49 | dependencies = [ 50 | "backtrace", 51 | ] 52 | 53 | [[package]] 54 | name = "arc-swap" 55 | version = "1.7.1" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" 58 | 59 | [[package]] 60 | name = "arrayvec" 61 | version = "0.5.2" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" 64 | 65 | [[package]] 66 | name = "async-attributes" 67 | version = "1.1.2" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" 70 | dependencies = [ 71 | "quote", 72 | "syn 1.0.109", 73 | ] 74 | 75 | [[package]] 76 | name = "async-channel" 77 | version = "1.9.0" 78 | source = "registry+https://github.com/rust-lang/crates.io-index" 79 | checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" 80 | dependencies = [ 81 | "concurrent-queue", 82 | "event-listener 2.5.3", 83 | "futures-core", 84 | ] 85 | 86 | [[package]] 87 | name = "async-channel" 88 | version = "2.3.1" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" 91 | dependencies = [ 92 | "concurrent-queue", 93 | "event-listener-strategy", 94 | "futures-core", 95 | "pin-project-lite", 96 | ] 97 | 98 | [[package]] 99 | name = "async-executor" 100 | version = "1.13.1" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" 103 | dependencies = [ 104 | "async-task", 105 | "concurrent-queue", 106 | "fastrand 2.2.0", 107 | "futures-lite 2.5.0", 108 | "slab", 109 | ] 110 | 111 | [[package]] 112 | name = "async-global-executor" 113 | version = "2.4.1" 114 | source = "registry+https://github.com/rust-lang/crates.io-index" 115 | checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" 116 | dependencies = [ 117 | "async-channel 2.3.1", 118 | "async-executor", 119 | "async-io", 120 | "async-lock", 121 | "blocking", 122 | "futures-lite 2.5.0", 123 | "once_cell", 124 | ] 125 | 126 | [[package]] 127 | name = "async-io" 128 | version = "2.4.0" 129 | source = "registry+https://github.com/rust-lang/crates.io-index" 130 | checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" 131 | dependencies = [ 132 | "async-lock", 133 | "cfg-if", 134 | "concurrent-queue", 135 | "futures-io", 136 | "futures-lite 2.5.0", 137 | "parking", 138 | "polling 3.7.4", 139 | "rustix", 140 | "slab", 141 | "tracing", 142 | "windows-sys 0.59.0", 143 | ] 144 | 145 | [[package]] 146 | name = "async-lock" 147 | version = "3.4.0" 148 | source = "registry+https://github.com/rust-lang/crates.io-index" 149 | checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" 150 | dependencies = [ 151 | "event-listener 5.3.1", 152 | "event-listener-strategy", 153 | "pin-project-lite", 154 | ] 155 | 156 | [[package]] 157 | name = "async-process" 158 | version = "2.3.0" 159 | source = "registry+https://github.com/rust-lang/crates.io-index" 160 | checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" 161 | dependencies = [ 162 | "async-channel 2.3.1", 163 | "async-io", 164 | "async-lock", 165 | "async-signal", 166 | "async-task", 167 | "blocking", 168 | "cfg-if", 169 | "event-listener 5.3.1", 170 | "futures-lite 2.5.0", 171 | "rustix", 172 | "tracing", 173 | ] 174 | 175 | [[package]] 176 | name = "async-signal" 177 | version = "0.2.10" 178 | source = "registry+https://github.com/rust-lang/crates.io-index" 179 | checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" 180 | dependencies = [ 181 | "async-io", 182 | "async-lock", 183 | "atomic-waker", 184 | "cfg-if", 185 | "futures-core", 186 | "futures-io", 187 | "rustix", 188 | "signal-hook-registry", 189 | "slab", 190 | "windows-sys 0.59.0", 191 | ] 192 | 193 | [[package]] 194 | name = "async-std" 195 | version = "1.13.0" 196 | source = "registry+https://github.com/rust-lang/crates.io-index" 197 | checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" 198 | dependencies = [ 199 | "async-attributes", 200 | "async-channel 1.9.0", 201 | "async-global-executor", 202 | "async-io", 203 | "async-lock", 204 | "async-process", 205 | "crossbeam-utils", 206 | "futures-channel", 207 | "futures-core", 208 | "futures-io", 209 | "futures-lite 2.5.0", 210 | "gloo-timers", 211 | "kv-log-macro", 212 | "log", 213 | "memchr", 214 | "once_cell", 215 | "pin-project-lite", 216 | "pin-utils", 217 | "slab", 218 | "wasm-bindgen-futures", 219 | ] 220 | 221 | [[package]] 222 | name = "async-task" 223 | version = "4.7.1" 224 | source = "registry+https://github.com/rust-lang/crates.io-index" 225 | checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" 226 | 227 | [[package]] 228 | name = "atomic" 229 | version = "0.6.0" 230 | source = "registry+https://github.com/rust-lang/crates.io-index" 231 | checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" 232 | dependencies = [ 233 | "bytemuck", 234 | ] 235 | 236 | [[package]] 237 | name = "atomic-waker" 238 | version = "1.1.2" 239 | source = "registry+https://github.com/rust-lang/crates.io-index" 240 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 241 | 242 | [[package]] 243 | name = "atty" 244 | version = "0.2.14" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 247 | dependencies = [ 248 | "hermit-abi 0.1.19", 249 | "libc", 250 | "winapi", 251 | ] 252 | 253 | [[package]] 254 | name = "autocfg" 255 | version = "1.4.0" 256 | source = "registry+https://github.com/rust-lang/crates.io-index" 257 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 258 | 259 | [[package]] 260 | name = "backtrace" 261 | version = "0.3.74" 262 | source = "registry+https://github.com/rust-lang/crates.io-index" 263 | checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 264 | dependencies = [ 265 | "addr2line", 266 | "cfg-if", 267 | "libc", 268 | "miniz_oxide", 269 | "object", 270 | "rustc-demangle", 271 | "windows-targets 0.52.6", 272 | ] 273 | 274 | [[package]] 275 | name = "backtrace-ext" 276 | version = "0.2.1" 277 | source = "registry+https://github.com/rust-lang/crates.io-index" 278 | checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" 279 | dependencies = [ 280 | "backtrace", 281 | ] 282 | 283 | [[package]] 284 | name = "base64" 285 | version = "0.21.7" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 288 | 289 | [[package]] 290 | name = "bit-set" 291 | version = "0.5.3" 292 | source = "registry+https://github.com/rust-lang/crates.io-index" 293 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 294 | dependencies = [ 295 | "bit-vec", 296 | ] 297 | 298 | [[package]] 299 | name = "bit-vec" 300 | version = "0.6.3" 301 | source = "registry+https://github.com/rust-lang/crates.io-index" 302 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 303 | 304 | [[package]] 305 | name = "bitflags" 306 | version = "1.3.2" 307 | source = "registry+https://github.com/rust-lang/crates.io-index" 308 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 309 | 310 | [[package]] 311 | name = "bitflags" 312 | version = "2.6.0" 313 | source = "registry+https://github.com/rust-lang/crates.io-index" 314 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 315 | 316 | [[package]] 317 | name = "block-buffer" 318 | version = "0.10.4" 319 | source = "registry+https://github.com/rust-lang/crates.io-index" 320 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 321 | dependencies = [ 322 | "generic-array", 323 | ] 324 | 325 | [[package]] 326 | name = "blocking" 327 | version = "1.6.1" 328 | source = "registry+https://github.com/rust-lang/crates.io-index" 329 | checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" 330 | dependencies = [ 331 | "async-channel 2.3.1", 332 | "async-task", 333 | "futures-io", 334 | "futures-lite 2.5.0", 335 | "piper", 336 | ] 337 | 338 | [[package]] 339 | name = "bumpalo" 340 | version = "3.16.0" 341 | source = "registry+https://github.com/rust-lang/crates.io-index" 342 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 343 | 344 | [[package]] 345 | name = "bytemuck" 346 | version = "1.19.0" 347 | source = "registry+https://github.com/rust-lang/crates.io-index" 348 | checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" 349 | 350 | [[package]] 351 | name = "byteorder" 352 | version = "1.5.0" 353 | source = "registry+https://github.com/rust-lang/crates.io-index" 354 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 355 | 356 | [[package]] 357 | name = "bytes" 358 | version = "1.8.0" 359 | source = "registry+https://github.com/rust-lang/crates.io-index" 360 | checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" 361 | 362 | [[package]] 363 | name = "castaway" 364 | version = "0.1.2" 365 | source = "registry+https://github.com/rust-lang/crates.io-index" 366 | checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" 367 | 368 | [[package]] 369 | name = "cc" 370 | version = "1.2.0" 371 | source = "registry+https://github.com/rust-lang/crates.io-index" 372 | checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8" 373 | dependencies = [ 374 | "shlex", 375 | ] 376 | 377 | [[package]] 378 | name = "cfg-if" 379 | version = "1.0.0" 380 | source = "registry+https://github.com/rust-lang/crates.io-index" 381 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 382 | 383 | [[package]] 384 | name = "cfg_aliases" 385 | version = "0.1.1" 386 | source = "registry+https://github.com/rust-lang/crates.io-index" 387 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 388 | 389 | [[package]] 390 | name = "chrono" 391 | version = "0.4.38" 392 | source = "registry+https://github.com/rust-lang/crates.io-index" 393 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 394 | dependencies = [ 395 | "android-tzdata", 396 | "iana-time-zone", 397 | "num-traits", 398 | "windows-targets 0.52.6", 399 | ] 400 | 401 | [[package]] 402 | name = "clap" 403 | version = "3.2.25" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" 406 | dependencies = [ 407 | "atty", 408 | "bitflags 1.3.2", 409 | "clap_derive", 410 | "clap_lex", 411 | "indexmap 1.9.3", 412 | "once_cell", 413 | "strsim", 414 | "termcolor", 415 | "textwrap 0.16.1", 416 | ] 417 | 418 | [[package]] 419 | name = "clap_complete" 420 | version = "3.2.5" 421 | source = "registry+https://github.com/rust-lang/crates.io-index" 422 | checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" 423 | dependencies = [ 424 | "clap", 425 | ] 426 | 427 | [[package]] 428 | name = "clap_derive" 429 | version = "3.2.25" 430 | source = "registry+https://github.com/rust-lang/crates.io-index" 431 | checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" 432 | dependencies = [ 433 | "heck 0.4.1", 434 | "proc-macro-error", 435 | "proc-macro2", 436 | "quote", 437 | "syn 1.0.109", 438 | ] 439 | 440 | [[package]] 441 | name = "clap_lex" 442 | version = "0.2.4" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" 445 | dependencies = [ 446 | "os_str_bytes", 447 | ] 448 | 449 | [[package]] 450 | name = "colored" 451 | version = "2.1.0" 452 | source = "registry+https://github.com/rust-lang/crates.io-index" 453 | checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" 454 | dependencies = [ 455 | "lazy_static", 456 | "windows-sys 0.48.0", 457 | ] 458 | 459 | [[package]] 460 | name = "colorsys" 461 | version = "0.6.7" 462 | source = "registry+https://github.com/rust-lang/crates.io-index" 463 | checksum = "54261aba646433cb567ec89844be4c4825ca92a4f8afba52fc4dd88436e31bbd" 464 | 465 | [[package]] 466 | name = "concurrent-queue" 467 | version = "2.5.0" 468 | source = "registry+https://github.com/rust-lang/crates.io-index" 469 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 470 | dependencies = [ 471 | "crossbeam-utils", 472 | ] 473 | 474 | [[package]] 475 | name = "core-foundation-sys" 476 | version = "0.8.7" 477 | source = "registry+https://github.com/rust-lang/crates.io-index" 478 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 479 | 480 | [[package]] 481 | name = "cpufeatures" 482 | version = "0.2.15" 483 | source = "registry+https://github.com/rust-lang/crates.io-index" 484 | checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" 485 | dependencies = [ 486 | "libc", 487 | ] 488 | 489 | [[package]] 490 | name = "crossbeam" 491 | version = "0.8.4" 492 | source = "registry+https://github.com/rust-lang/crates.io-index" 493 | checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" 494 | dependencies = [ 495 | "crossbeam-channel", 496 | "crossbeam-deque", 497 | "crossbeam-epoch", 498 | "crossbeam-queue", 499 | "crossbeam-utils", 500 | ] 501 | 502 | [[package]] 503 | name = "crossbeam-channel" 504 | version = "0.5.13" 505 | source = "registry+https://github.com/rust-lang/crates.io-index" 506 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 507 | dependencies = [ 508 | "crossbeam-utils", 509 | ] 510 | 511 | [[package]] 512 | name = "crossbeam-deque" 513 | version = "0.8.5" 514 | source = "registry+https://github.com/rust-lang/crates.io-index" 515 | checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" 516 | dependencies = [ 517 | "crossbeam-epoch", 518 | "crossbeam-utils", 519 | ] 520 | 521 | [[package]] 522 | name = "crossbeam-epoch" 523 | version = "0.9.18" 524 | source = "registry+https://github.com/rust-lang/crates.io-index" 525 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 526 | dependencies = [ 527 | "crossbeam-utils", 528 | ] 529 | 530 | [[package]] 531 | name = "crossbeam-queue" 532 | version = "0.3.11" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" 535 | dependencies = [ 536 | "crossbeam-utils", 537 | ] 538 | 539 | [[package]] 540 | name = "crossbeam-utils" 541 | version = "0.8.20" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 544 | 545 | [[package]] 546 | name = "crypto-common" 547 | version = "0.1.6" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 550 | dependencies = [ 551 | "generic-array", 552 | "typenum", 553 | ] 554 | 555 | [[package]] 556 | name = "csscolorparser" 557 | version = "0.6.2" 558 | source = "registry+https://github.com/rust-lang/crates.io-index" 559 | checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" 560 | dependencies = [ 561 | "lab", 562 | "phf", 563 | ] 564 | 565 | [[package]] 566 | name = "curl" 567 | version = "0.4.47" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" 570 | dependencies = [ 571 | "curl-sys", 572 | "libc", 573 | "openssl-probe", 574 | "openssl-sys", 575 | "schannel", 576 | "socket2", 577 | "windows-sys 0.52.0", 578 | ] 579 | 580 | [[package]] 581 | name = "curl-sys" 582 | version = "0.4.78+curl-8.11.0" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" 585 | dependencies = [ 586 | "cc", 587 | "libc", 588 | "libnghttp2-sys", 589 | "libz-sys", 590 | "openssl-sys", 591 | "pkg-config", 592 | "vcpkg", 593 | "windows-sys 0.52.0", 594 | ] 595 | 596 | [[package]] 597 | name = "deltae" 598 | version = "0.3.2" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" 601 | 602 | [[package]] 603 | name = "derivative" 604 | version = "2.2.0" 605 | source = "registry+https://github.com/rust-lang/crates.io-index" 606 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 607 | dependencies = [ 608 | "proc-macro2", 609 | "quote", 610 | "syn 1.0.109", 611 | ] 612 | 613 | [[package]] 614 | name = "destructure_traitobject" 615 | version = "0.2.0" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" 618 | 619 | [[package]] 620 | name = "digest" 621 | version = "0.10.7" 622 | source = "registry+https://github.com/rust-lang/crates.io-index" 623 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 624 | dependencies = [ 625 | "block-buffer", 626 | "crypto-common", 627 | ] 628 | 629 | [[package]] 630 | name = "directories" 631 | version = "5.0.1" 632 | source = "registry+https://github.com/rust-lang/crates.io-index" 633 | checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" 634 | dependencies = [ 635 | "dirs-sys 0.4.1", 636 | ] 637 | 638 | [[package]] 639 | name = "dirs" 640 | version = "4.0.0" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" 643 | dependencies = [ 644 | "dirs-sys 0.3.7", 645 | ] 646 | 647 | [[package]] 648 | name = "dirs" 649 | version = "5.0.1" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 652 | dependencies = [ 653 | "dirs-sys 0.4.1", 654 | ] 655 | 656 | [[package]] 657 | name = "dirs-sys" 658 | version = "0.3.7" 659 | source = "registry+https://github.com/rust-lang/crates.io-index" 660 | checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" 661 | dependencies = [ 662 | "libc", 663 | "redox_users", 664 | "winapi", 665 | ] 666 | 667 | [[package]] 668 | name = "dirs-sys" 669 | version = "0.4.1" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 672 | dependencies = [ 673 | "libc", 674 | "option-ext", 675 | "redox_users", 676 | "windows-sys 0.48.0", 677 | ] 678 | 679 | [[package]] 680 | name = "displaydoc" 681 | version = "0.2.5" 682 | source = "registry+https://github.com/rust-lang/crates.io-index" 683 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 684 | dependencies = [ 685 | "proc-macro2", 686 | "quote", 687 | "syn 2.0.87", 688 | ] 689 | 690 | [[package]] 691 | name = "either" 692 | version = "1.13.0" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" 695 | 696 | [[package]] 697 | name = "encoding_rs" 698 | version = "0.8.35" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 701 | dependencies = [ 702 | "cfg-if", 703 | ] 704 | 705 | [[package]] 706 | name = "equivalent" 707 | version = "1.0.1" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 710 | 711 | [[package]] 712 | name = "errno" 713 | version = "0.3.9" 714 | source = "registry+https://github.com/rust-lang/crates.io-index" 715 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 716 | dependencies = [ 717 | "libc", 718 | "windows-sys 0.52.0", 719 | ] 720 | 721 | [[package]] 722 | name = "euclid" 723 | version = "0.22.11" 724 | source = "registry+https://github.com/rust-lang/crates.io-index" 725 | checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 726 | dependencies = [ 727 | "num-traits", 728 | ] 729 | 730 | [[package]] 731 | name = "event-listener" 732 | version = "2.5.3" 733 | source = "registry+https://github.com/rust-lang/crates.io-index" 734 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 735 | 736 | [[package]] 737 | name = "event-listener" 738 | version = "5.3.1" 739 | source = "registry+https://github.com/rust-lang/crates.io-index" 740 | checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" 741 | dependencies = [ 742 | "concurrent-queue", 743 | "parking", 744 | "pin-project-lite", 745 | ] 746 | 747 | [[package]] 748 | name = "event-listener-strategy" 749 | version = "0.5.2" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" 752 | dependencies = [ 753 | "event-listener 5.3.1", 754 | "pin-project-lite", 755 | ] 756 | 757 | [[package]] 758 | name = "fancy-regex" 759 | version = "0.11.0" 760 | source = "registry+https://github.com/rust-lang/crates.io-index" 761 | checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" 762 | dependencies = [ 763 | "bit-set", 764 | "regex", 765 | ] 766 | 767 | [[package]] 768 | name = "fastrand" 769 | version = "1.9.0" 770 | source = "registry+https://github.com/rust-lang/crates.io-index" 771 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 772 | dependencies = [ 773 | "instant", 774 | ] 775 | 776 | [[package]] 777 | name = "fastrand" 778 | version = "2.2.0" 779 | source = "registry+https://github.com/rust-lang/crates.io-index" 780 | checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" 781 | 782 | [[package]] 783 | name = "file-id" 784 | version = "0.1.0" 785 | source = "registry+https://github.com/rust-lang/crates.io-index" 786 | checksum = "e13be71e6ca82e91bc0cb862bebaac0b2d1924a5a1d970c822b2f98b63fda8c3" 787 | dependencies = [ 788 | "winapi-util", 789 | ] 790 | 791 | [[package]] 792 | name = "filedescriptor" 793 | version = "0.8.2" 794 | source = "registry+https://github.com/rust-lang/crates.io-index" 795 | checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" 796 | dependencies = [ 797 | "libc", 798 | "thiserror", 799 | "winapi", 800 | ] 801 | 802 | [[package]] 803 | name = "filetime" 804 | version = "0.2.25" 805 | source = "registry+https://github.com/rust-lang/crates.io-index" 806 | checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" 807 | dependencies = [ 808 | "cfg-if", 809 | "libc", 810 | "libredox", 811 | "windows-sys 0.59.0", 812 | ] 813 | 814 | [[package]] 815 | name = "finl_unicode" 816 | version = "1.3.0" 817 | source = "registry+https://github.com/rust-lang/crates.io-index" 818 | checksum = "94c970b525906eb37d3940083aa65b95e481fc1857d467d13374e1d925cfc163" 819 | 820 | [[package]] 821 | name = "fixedbitset" 822 | version = "0.4.2" 823 | source = "registry+https://github.com/rust-lang/crates.io-index" 824 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 825 | 826 | [[package]] 827 | name = "fnv" 828 | version = "1.0.7" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 831 | 832 | [[package]] 833 | name = "form_urlencoded" 834 | version = "1.2.1" 835 | source = "registry+https://github.com/rust-lang/crates.io-index" 836 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 837 | dependencies = [ 838 | "percent-encoding", 839 | ] 840 | 841 | [[package]] 842 | name = "fsevent-sys" 843 | version = "4.1.0" 844 | source = "registry+https://github.com/rust-lang/crates.io-index" 845 | checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" 846 | dependencies = [ 847 | "libc", 848 | ] 849 | 850 | [[package]] 851 | name = "futures" 852 | version = "0.3.31" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 855 | dependencies = [ 856 | "futures-channel", 857 | "futures-core", 858 | "futures-executor", 859 | "futures-io", 860 | "futures-sink", 861 | "futures-task", 862 | "futures-util", 863 | ] 864 | 865 | [[package]] 866 | name = "futures-channel" 867 | version = "0.3.31" 868 | source = "registry+https://github.com/rust-lang/crates.io-index" 869 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 870 | dependencies = [ 871 | "futures-core", 872 | "futures-sink", 873 | ] 874 | 875 | [[package]] 876 | name = "futures-core" 877 | version = "0.3.31" 878 | source = "registry+https://github.com/rust-lang/crates.io-index" 879 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 880 | 881 | [[package]] 882 | name = "futures-executor" 883 | version = "0.3.31" 884 | source = "registry+https://github.com/rust-lang/crates.io-index" 885 | checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 886 | dependencies = [ 887 | "futures-core", 888 | "futures-task", 889 | "futures-util", 890 | ] 891 | 892 | [[package]] 893 | name = "futures-io" 894 | version = "0.3.31" 895 | source = "registry+https://github.com/rust-lang/crates.io-index" 896 | checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 897 | 898 | [[package]] 899 | name = "futures-lite" 900 | version = "1.13.0" 901 | source = "registry+https://github.com/rust-lang/crates.io-index" 902 | checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 903 | dependencies = [ 904 | "fastrand 1.9.0", 905 | "futures-core", 906 | "futures-io", 907 | "memchr", 908 | "parking", 909 | "pin-project-lite", 910 | "waker-fn", 911 | ] 912 | 913 | [[package]] 914 | name = "futures-lite" 915 | version = "2.5.0" 916 | source = "registry+https://github.com/rust-lang/crates.io-index" 917 | checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" 918 | dependencies = [ 919 | "fastrand 2.2.0", 920 | "futures-core", 921 | "futures-io", 922 | "parking", 923 | "pin-project-lite", 924 | ] 925 | 926 | [[package]] 927 | name = "futures-macro" 928 | version = "0.3.31" 929 | source = "registry+https://github.com/rust-lang/crates.io-index" 930 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 931 | dependencies = [ 932 | "proc-macro2", 933 | "quote", 934 | "syn 2.0.87", 935 | ] 936 | 937 | [[package]] 938 | name = "futures-sink" 939 | version = "0.3.31" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 942 | 943 | [[package]] 944 | name = "futures-task" 945 | version = "0.3.31" 946 | source = "registry+https://github.com/rust-lang/crates.io-index" 947 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 948 | 949 | [[package]] 950 | name = "futures-util" 951 | version = "0.3.31" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 954 | dependencies = [ 955 | "futures-channel", 956 | "futures-core", 957 | "futures-io", 958 | "futures-macro", 959 | "futures-sink", 960 | "futures-task", 961 | "memchr", 962 | "pin-project-lite", 963 | "pin-utils", 964 | "slab", 965 | ] 966 | 967 | [[package]] 968 | name = "generic-array" 969 | version = "0.14.7" 970 | source = "registry+https://github.com/rust-lang/crates.io-index" 971 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 972 | dependencies = [ 973 | "typenum", 974 | "version_check", 975 | ] 976 | 977 | [[package]] 978 | name = "getrandom" 979 | version = "0.2.15" 980 | source = "registry+https://github.com/rust-lang/crates.io-index" 981 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 982 | dependencies = [ 983 | "cfg-if", 984 | "libc", 985 | "wasi", 986 | ] 987 | 988 | [[package]] 989 | name = "gimli" 990 | version = "0.31.1" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 993 | 994 | [[package]] 995 | name = "gloo-timers" 996 | version = "0.3.0" 997 | source = "registry+https://github.com/rust-lang/crates.io-index" 998 | checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" 999 | dependencies = [ 1000 | "futures-channel", 1001 | "futures-core", 1002 | "js-sys", 1003 | "wasm-bindgen", 1004 | ] 1005 | 1006 | [[package]] 1007 | name = "hashbrown" 1008 | version = "0.12.3" 1009 | source = "registry+https://github.com/rust-lang/crates.io-index" 1010 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1011 | 1012 | [[package]] 1013 | name = "hashbrown" 1014 | version = "0.15.1" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" 1017 | 1018 | [[package]] 1019 | name = "heck" 1020 | version = "0.3.3" 1021 | source = "registry+https://github.com/rust-lang/crates.io-index" 1022 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 1023 | dependencies = [ 1024 | "unicode-segmentation", 1025 | ] 1026 | 1027 | [[package]] 1028 | name = "heck" 1029 | version = "0.4.1" 1030 | source = "registry+https://github.com/rust-lang/crates.io-index" 1031 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1032 | 1033 | [[package]] 1034 | name = "hermit-abi" 1035 | version = "0.1.19" 1036 | source = "registry+https://github.com/rust-lang/crates.io-index" 1037 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1038 | dependencies = [ 1039 | "libc", 1040 | ] 1041 | 1042 | [[package]] 1043 | name = "hermit-abi" 1044 | version = "0.4.0" 1045 | source = "registry+https://github.com/rust-lang/crates.io-index" 1046 | checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" 1047 | 1048 | [[package]] 1049 | name = "hex" 1050 | version = "0.4.3" 1051 | source = "registry+https://github.com/rust-lang/crates.io-index" 1052 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1053 | 1054 | [[package]] 1055 | name = "home" 1056 | version = "0.5.9" 1057 | source = "registry+https://github.com/rust-lang/crates.io-index" 1058 | checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" 1059 | dependencies = [ 1060 | "windows-sys 0.52.0", 1061 | ] 1062 | 1063 | [[package]] 1064 | name = "http" 1065 | version = "0.2.12" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 1068 | dependencies = [ 1069 | "bytes", 1070 | "fnv", 1071 | "itoa", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "humantime" 1076 | version = "2.1.0" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 1079 | 1080 | [[package]] 1081 | name = "iana-time-zone" 1082 | version = "0.1.61" 1083 | source = "registry+https://github.com/rust-lang/crates.io-index" 1084 | checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" 1085 | dependencies = [ 1086 | "android_system_properties", 1087 | "core-foundation-sys", 1088 | "iana-time-zone-haiku", 1089 | "js-sys", 1090 | "wasm-bindgen", 1091 | "windows-core", 1092 | ] 1093 | 1094 | [[package]] 1095 | name = "iana-time-zone-haiku" 1096 | version = "0.1.2" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1099 | dependencies = [ 1100 | "cc", 1101 | ] 1102 | 1103 | [[package]] 1104 | name = "icu_collections" 1105 | version = "1.5.0" 1106 | source = "registry+https://github.com/rust-lang/crates.io-index" 1107 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 1108 | dependencies = [ 1109 | "displaydoc", 1110 | "yoke", 1111 | "zerofrom", 1112 | "zerovec", 1113 | ] 1114 | 1115 | [[package]] 1116 | name = "icu_locid" 1117 | version = "1.5.0" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 1120 | dependencies = [ 1121 | "displaydoc", 1122 | "litemap", 1123 | "tinystr", 1124 | "writeable", 1125 | "zerovec", 1126 | ] 1127 | 1128 | [[package]] 1129 | name = "icu_locid_transform" 1130 | version = "1.5.0" 1131 | source = "registry+https://github.com/rust-lang/crates.io-index" 1132 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 1133 | dependencies = [ 1134 | "displaydoc", 1135 | "icu_locid", 1136 | "icu_locid_transform_data", 1137 | "icu_provider", 1138 | "tinystr", 1139 | "zerovec", 1140 | ] 1141 | 1142 | [[package]] 1143 | name = "icu_locid_transform_data" 1144 | version = "1.5.0" 1145 | source = "registry+https://github.com/rust-lang/crates.io-index" 1146 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" 1147 | 1148 | [[package]] 1149 | name = "icu_normalizer" 1150 | version = "1.5.0" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 1153 | dependencies = [ 1154 | "displaydoc", 1155 | "icu_collections", 1156 | "icu_normalizer_data", 1157 | "icu_properties", 1158 | "icu_provider", 1159 | "smallvec", 1160 | "utf16_iter", 1161 | "utf8_iter", 1162 | "write16", 1163 | "zerovec", 1164 | ] 1165 | 1166 | [[package]] 1167 | name = "icu_normalizer_data" 1168 | version = "1.5.0" 1169 | source = "registry+https://github.com/rust-lang/crates.io-index" 1170 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" 1171 | 1172 | [[package]] 1173 | name = "icu_properties" 1174 | version = "1.5.1" 1175 | source = "registry+https://github.com/rust-lang/crates.io-index" 1176 | checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" 1177 | dependencies = [ 1178 | "displaydoc", 1179 | "icu_collections", 1180 | "icu_locid_transform", 1181 | "icu_properties_data", 1182 | "icu_provider", 1183 | "tinystr", 1184 | "zerovec", 1185 | ] 1186 | 1187 | [[package]] 1188 | name = "icu_properties_data" 1189 | version = "1.5.0" 1190 | source = "registry+https://github.com/rust-lang/crates.io-index" 1191 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" 1192 | 1193 | [[package]] 1194 | name = "icu_provider" 1195 | version = "1.5.0" 1196 | source = "registry+https://github.com/rust-lang/crates.io-index" 1197 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 1198 | dependencies = [ 1199 | "displaydoc", 1200 | "icu_locid", 1201 | "icu_provider_macros", 1202 | "stable_deref_trait", 1203 | "tinystr", 1204 | "writeable", 1205 | "yoke", 1206 | "zerofrom", 1207 | "zerovec", 1208 | ] 1209 | 1210 | [[package]] 1211 | name = "icu_provider_macros" 1212 | version = "1.5.0" 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" 1214 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 1215 | dependencies = [ 1216 | "proc-macro2", 1217 | "quote", 1218 | "syn 2.0.87", 1219 | ] 1220 | 1221 | [[package]] 1222 | name = "idna" 1223 | version = "1.0.3" 1224 | source = "registry+https://github.com/rust-lang/crates.io-index" 1225 | checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 1226 | dependencies = [ 1227 | "idna_adapter", 1228 | "smallvec", 1229 | "utf8_iter", 1230 | ] 1231 | 1232 | [[package]] 1233 | name = "idna_adapter" 1234 | version = "1.2.0" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" 1237 | dependencies = [ 1238 | "icu_normalizer", 1239 | "icu_properties", 1240 | ] 1241 | 1242 | [[package]] 1243 | name = "include_dir" 1244 | version = "0.7.4" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" 1247 | dependencies = [ 1248 | "include_dir_macros", 1249 | ] 1250 | 1251 | [[package]] 1252 | name = "include_dir_macros" 1253 | version = "0.7.4" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" 1256 | dependencies = [ 1257 | "proc-macro2", 1258 | "quote", 1259 | ] 1260 | 1261 | [[package]] 1262 | name = "indexmap" 1263 | version = "1.9.3" 1264 | source = "registry+https://github.com/rust-lang/crates.io-index" 1265 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1266 | dependencies = [ 1267 | "autocfg", 1268 | "hashbrown 0.12.3", 1269 | ] 1270 | 1271 | [[package]] 1272 | name = "indexmap" 1273 | version = "2.6.0" 1274 | source = "registry+https://github.com/rust-lang/crates.io-index" 1275 | checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" 1276 | dependencies = [ 1277 | "equivalent", 1278 | "hashbrown 0.15.1", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "inotify" 1283 | version = "0.9.6" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" 1286 | dependencies = [ 1287 | "bitflags 1.3.2", 1288 | "inotify-sys", 1289 | "libc", 1290 | ] 1291 | 1292 | [[package]] 1293 | name = "inotify-sys" 1294 | version = "0.1.5" 1295 | source = "registry+https://github.com/rust-lang/crates.io-index" 1296 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 1297 | dependencies = [ 1298 | "libc", 1299 | ] 1300 | 1301 | [[package]] 1302 | name = "instant" 1303 | version = "0.1.13" 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" 1305 | checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" 1306 | dependencies = [ 1307 | "cfg-if", 1308 | ] 1309 | 1310 | [[package]] 1311 | name = "interprocess" 1312 | version = "1.2.1" 1313 | source = "registry+https://github.com/rust-lang/crates.io-index" 1314 | checksum = "81f2533f3be42fffe3b5e63b71aeca416c1c3bc33e4e27be018521e76b1f38fb" 1315 | dependencies = [ 1316 | "blocking", 1317 | "cfg-if", 1318 | "futures-core", 1319 | "futures-io", 1320 | "intmap", 1321 | "libc", 1322 | "once_cell", 1323 | "rustc_version", 1324 | "spinning", 1325 | "thiserror", 1326 | "to_method", 1327 | "winapi", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "intmap" 1332 | version = "0.7.1" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" 1335 | 1336 | [[package]] 1337 | name = "is-terminal" 1338 | version = "0.4.13" 1339 | source = "registry+https://github.com/rust-lang/crates.io-index" 1340 | checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" 1341 | dependencies = [ 1342 | "hermit-abi 0.4.0", 1343 | "libc", 1344 | "windows-sys 0.52.0", 1345 | ] 1346 | 1347 | [[package]] 1348 | name = "is_ci" 1349 | version = "1.2.0" 1350 | source = "registry+https://github.com/rust-lang/crates.io-index" 1351 | checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" 1352 | 1353 | [[package]] 1354 | name = "isahc" 1355 | version = "1.7.2" 1356 | source = "registry+https://github.com/rust-lang/crates.io-index" 1357 | checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" 1358 | dependencies = [ 1359 | "async-channel 1.9.0", 1360 | "castaway", 1361 | "crossbeam-utils", 1362 | "curl", 1363 | "curl-sys", 1364 | "encoding_rs", 1365 | "event-listener 2.5.3", 1366 | "futures-lite 1.13.0", 1367 | "http", 1368 | "log", 1369 | "mime", 1370 | "once_cell", 1371 | "polling 2.8.0", 1372 | "slab", 1373 | "sluice", 1374 | "tracing", 1375 | "tracing-futures", 1376 | "url", 1377 | "waker-fn", 1378 | ] 1379 | 1380 | [[package]] 1381 | name = "itertools" 1382 | version = "0.10.5" 1383 | source = "registry+https://github.com/rust-lang/crates.io-index" 1384 | checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 1385 | dependencies = [ 1386 | "either", 1387 | ] 1388 | 1389 | [[package]] 1390 | name = "itoa" 1391 | version = "1.0.11" 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" 1393 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1394 | 1395 | [[package]] 1396 | name = "js-sys" 1397 | version = "0.3.72" 1398 | source = "registry+https://github.com/rust-lang/crates.io-index" 1399 | checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" 1400 | dependencies = [ 1401 | "wasm-bindgen", 1402 | ] 1403 | 1404 | [[package]] 1405 | name = "kdl" 1406 | version = "4.6.0" 1407 | source = "registry+https://github.com/rust-lang/crates.io-index" 1408 | checksum = "062c875482ccb676fd40c804a40e3824d4464c18c364547456d1c8e8e951ae47" 1409 | dependencies = [ 1410 | "miette", 1411 | "nom", 1412 | "thiserror", 1413 | ] 1414 | 1415 | [[package]] 1416 | name = "kqueue" 1417 | version = "1.0.8" 1418 | source = "registry+https://github.com/rust-lang/crates.io-index" 1419 | checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" 1420 | dependencies = [ 1421 | "kqueue-sys", 1422 | "libc", 1423 | ] 1424 | 1425 | [[package]] 1426 | name = "kqueue-sys" 1427 | version = "1.0.4" 1428 | source = "registry+https://github.com/rust-lang/crates.io-index" 1429 | checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" 1430 | dependencies = [ 1431 | "bitflags 1.3.2", 1432 | "libc", 1433 | ] 1434 | 1435 | [[package]] 1436 | name = "kv-log-macro" 1437 | version = "1.0.7" 1438 | source = "registry+https://github.com/rust-lang/crates.io-index" 1439 | checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" 1440 | dependencies = [ 1441 | "log", 1442 | ] 1443 | 1444 | [[package]] 1445 | name = "lab" 1446 | version = "0.11.0" 1447 | source = "registry+https://github.com/rust-lang/crates.io-index" 1448 | checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" 1449 | 1450 | [[package]] 1451 | name = "lazy_static" 1452 | version = "1.5.0" 1453 | source = "registry+https://github.com/rust-lang/crates.io-index" 1454 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 1455 | 1456 | [[package]] 1457 | name = "libc" 1458 | version = "0.2.162" 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" 1460 | checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" 1461 | 1462 | [[package]] 1463 | name = "libnghttp2-sys" 1464 | version = "0.1.10+1.61.0" 1465 | source = "registry+https://github.com/rust-lang/crates.io-index" 1466 | checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" 1467 | dependencies = [ 1468 | "cc", 1469 | "libc", 1470 | ] 1471 | 1472 | [[package]] 1473 | name = "libredox" 1474 | version = "0.1.3" 1475 | source = "registry+https://github.com/rust-lang/crates.io-index" 1476 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 1477 | dependencies = [ 1478 | "bitflags 2.6.0", 1479 | "libc", 1480 | "redox_syscall", 1481 | ] 1482 | 1483 | [[package]] 1484 | name = "libz-sys" 1485 | version = "1.1.20" 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" 1487 | checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" 1488 | dependencies = [ 1489 | "cc", 1490 | "libc", 1491 | "pkg-config", 1492 | "vcpkg", 1493 | ] 1494 | 1495 | [[package]] 1496 | name = "linux-raw-sys" 1497 | version = "0.4.14" 1498 | source = "registry+https://github.com/rust-lang/crates.io-index" 1499 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 1500 | 1501 | [[package]] 1502 | name = "litemap" 1503 | version = "0.7.3" 1504 | source = "registry+https://github.com/rust-lang/crates.io-index" 1505 | checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" 1506 | 1507 | [[package]] 1508 | name = "lock_api" 1509 | version = "0.4.12" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1512 | dependencies = [ 1513 | "autocfg", 1514 | "scopeguard", 1515 | ] 1516 | 1517 | [[package]] 1518 | name = "log" 1519 | version = "0.4.22" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 1522 | dependencies = [ 1523 | "serde", 1524 | "value-bag", 1525 | ] 1526 | 1527 | [[package]] 1528 | name = "log-mdc" 1529 | version = "0.1.0" 1530 | source = "registry+https://github.com/rust-lang/crates.io-index" 1531 | checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" 1532 | 1533 | [[package]] 1534 | name = "log4rs" 1535 | version = "1.3.0" 1536 | source = "registry+https://github.com/rust-lang/crates.io-index" 1537 | checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6" 1538 | dependencies = [ 1539 | "anyhow", 1540 | "arc-swap", 1541 | "chrono", 1542 | "derivative", 1543 | "fnv", 1544 | "humantime", 1545 | "libc", 1546 | "log", 1547 | "log-mdc", 1548 | "once_cell", 1549 | "parking_lot", 1550 | "rand", 1551 | "serde", 1552 | "serde-value", 1553 | "serde_json", 1554 | "serde_yaml", 1555 | "thiserror", 1556 | "thread-id", 1557 | "typemap-ors", 1558 | "winapi", 1559 | ] 1560 | 1561 | [[package]] 1562 | name = "mac_address" 1563 | version = "1.1.7" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" 1566 | dependencies = [ 1567 | "nix 0.28.0", 1568 | "winapi", 1569 | ] 1570 | 1571 | [[package]] 1572 | name = "memchr" 1573 | version = "2.7.4" 1574 | source = "registry+https://github.com/rust-lang/crates.io-index" 1575 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1576 | 1577 | [[package]] 1578 | name = "memmem" 1579 | version = "0.1.1" 1580 | source = "registry+https://github.com/rust-lang/crates.io-index" 1581 | checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" 1582 | 1583 | [[package]] 1584 | name = "memoffset" 1585 | version = "0.6.5" 1586 | source = "registry+https://github.com/rust-lang/crates.io-index" 1587 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1588 | dependencies = [ 1589 | "autocfg", 1590 | ] 1591 | 1592 | [[package]] 1593 | name = "memoffset" 1594 | version = "0.7.1" 1595 | source = "registry+https://github.com/rust-lang/crates.io-index" 1596 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 1597 | dependencies = [ 1598 | "autocfg", 1599 | ] 1600 | 1601 | [[package]] 1602 | name = "memoffset" 1603 | version = "0.9.1" 1604 | source = "registry+https://github.com/rust-lang/crates.io-index" 1605 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1606 | dependencies = [ 1607 | "autocfg", 1608 | ] 1609 | 1610 | [[package]] 1611 | name = "miette" 1612 | version = "5.10.0" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" 1615 | dependencies = [ 1616 | "backtrace", 1617 | "backtrace-ext", 1618 | "is-terminal", 1619 | "miette-derive", 1620 | "once_cell", 1621 | "owo-colors", 1622 | "supports-color", 1623 | "supports-hyperlinks", 1624 | "supports-unicode", 1625 | "terminal_size", 1626 | "textwrap 0.15.2", 1627 | "thiserror", 1628 | "unicode-width", 1629 | ] 1630 | 1631 | [[package]] 1632 | name = "miette-derive" 1633 | version = "5.10.0" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" 1636 | dependencies = [ 1637 | "proc-macro2", 1638 | "quote", 1639 | "syn 2.0.87", 1640 | ] 1641 | 1642 | [[package]] 1643 | name = "mime" 1644 | version = "0.3.17" 1645 | source = "registry+https://github.com/rust-lang/crates.io-index" 1646 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1647 | 1648 | [[package]] 1649 | name = "minimal-lexical" 1650 | version = "0.2.1" 1651 | source = "registry+https://github.com/rust-lang/crates.io-index" 1652 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1653 | 1654 | [[package]] 1655 | name = "miniz_oxide" 1656 | version = "0.8.0" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" 1659 | dependencies = [ 1660 | "adler2", 1661 | ] 1662 | 1663 | [[package]] 1664 | name = "mio" 1665 | version = "0.8.11" 1666 | source = "registry+https://github.com/rust-lang/crates.io-index" 1667 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1668 | dependencies = [ 1669 | "libc", 1670 | "log", 1671 | "wasi", 1672 | "windows-sys 0.48.0", 1673 | ] 1674 | 1675 | [[package]] 1676 | name = "multimap" 1677 | version = "0.8.3" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" 1680 | 1681 | [[package]] 1682 | name = "nix" 1683 | version = "0.23.2" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" 1686 | dependencies = [ 1687 | "bitflags 1.3.2", 1688 | "cc", 1689 | "cfg-if", 1690 | "libc", 1691 | "memoffset 0.6.5", 1692 | ] 1693 | 1694 | [[package]] 1695 | name = "nix" 1696 | version = "0.26.4" 1697 | source = "registry+https://github.com/rust-lang/crates.io-index" 1698 | checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" 1699 | dependencies = [ 1700 | "bitflags 1.3.2", 1701 | "cfg-if", 1702 | "libc", 1703 | "memoffset 0.7.1", 1704 | "pin-utils", 1705 | ] 1706 | 1707 | [[package]] 1708 | name = "nix" 1709 | version = "0.28.0" 1710 | source = "registry+https://github.com/rust-lang/crates.io-index" 1711 | checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" 1712 | dependencies = [ 1713 | "bitflags 2.6.0", 1714 | "cfg-if", 1715 | "cfg_aliases", 1716 | "libc", 1717 | "memoffset 0.9.1", 1718 | ] 1719 | 1720 | [[package]] 1721 | name = "nom" 1722 | version = "7.1.3" 1723 | source = "registry+https://github.com/rust-lang/crates.io-index" 1724 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1725 | dependencies = [ 1726 | "memchr", 1727 | "minimal-lexical", 1728 | ] 1729 | 1730 | [[package]] 1731 | name = "notify" 1732 | version = "6.1.1" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" 1735 | dependencies = [ 1736 | "bitflags 2.6.0", 1737 | "crossbeam-channel", 1738 | "filetime", 1739 | "fsevent-sys", 1740 | "inotify", 1741 | "kqueue", 1742 | "libc", 1743 | "log", 1744 | "mio", 1745 | "walkdir", 1746 | "windows-sys 0.48.0", 1747 | ] 1748 | 1749 | [[package]] 1750 | name = "notify-debouncer-full" 1751 | version = "0.1.0" 1752 | source = "registry+https://github.com/rust-lang/crates.io-index" 1753 | checksum = "f4812c1eb49be776fb8df4961623bdc01ec9dfdc1abe8211ceb09150a2e64219" 1754 | dependencies = [ 1755 | "crossbeam-channel", 1756 | "file-id", 1757 | "notify", 1758 | "parking_lot", 1759 | "walkdir", 1760 | ] 1761 | 1762 | [[package]] 1763 | name = "num-derive" 1764 | version = "0.3.3" 1765 | source = "registry+https://github.com/rust-lang/crates.io-index" 1766 | checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" 1767 | dependencies = [ 1768 | "proc-macro2", 1769 | "quote", 1770 | "syn 1.0.109", 1771 | ] 1772 | 1773 | [[package]] 1774 | name = "num-traits" 1775 | version = "0.2.19" 1776 | source = "registry+https://github.com/rust-lang/crates.io-index" 1777 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1778 | dependencies = [ 1779 | "autocfg", 1780 | ] 1781 | 1782 | [[package]] 1783 | name = "object" 1784 | version = "0.36.5" 1785 | source = "registry+https://github.com/rust-lang/crates.io-index" 1786 | checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" 1787 | dependencies = [ 1788 | "memchr", 1789 | ] 1790 | 1791 | [[package]] 1792 | name = "once_cell" 1793 | version = "1.20.2" 1794 | source = "registry+https://github.com/rust-lang/crates.io-index" 1795 | checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" 1796 | 1797 | [[package]] 1798 | name = "openssl-probe" 1799 | version = "0.1.5" 1800 | source = "registry+https://github.com/rust-lang/crates.io-index" 1801 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1802 | 1803 | [[package]] 1804 | name = "openssl-sys" 1805 | version = "0.9.104" 1806 | source = "registry+https://github.com/rust-lang/crates.io-index" 1807 | checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" 1808 | dependencies = [ 1809 | "cc", 1810 | "libc", 1811 | "pkg-config", 1812 | "vcpkg", 1813 | ] 1814 | 1815 | [[package]] 1816 | name = "option-ext" 1817 | version = "0.2.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 1820 | 1821 | [[package]] 1822 | name = "ordered-float" 1823 | version = "2.10.1" 1824 | source = "registry+https://github.com/rust-lang/crates.io-index" 1825 | checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" 1826 | dependencies = [ 1827 | "num-traits", 1828 | ] 1829 | 1830 | [[package]] 1831 | name = "ordered-float" 1832 | version = "4.5.0" 1833 | source = "registry+https://github.com/rust-lang/crates.io-index" 1834 | checksum = "c65ee1f9701bf938026630b455d5315f490640234259037edb259798b3bcf85e" 1835 | dependencies = [ 1836 | "num-traits", 1837 | ] 1838 | 1839 | [[package]] 1840 | name = "os_str_bytes" 1841 | version = "6.6.1" 1842 | source = "registry+https://github.com/rust-lang/crates.io-index" 1843 | checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" 1844 | 1845 | [[package]] 1846 | name = "owo-colors" 1847 | version = "3.5.0" 1848 | source = "registry+https://github.com/rust-lang/crates.io-index" 1849 | checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 1850 | 1851 | [[package]] 1852 | name = "parking" 1853 | version = "2.2.1" 1854 | source = "registry+https://github.com/rust-lang/crates.io-index" 1855 | checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1856 | 1857 | [[package]] 1858 | name = "parking_lot" 1859 | version = "0.12.3" 1860 | source = "registry+https://github.com/rust-lang/crates.io-index" 1861 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1862 | dependencies = [ 1863 | "lock_api", 1864 | "parking_lot_core", 1865 | ] 1866 | 1867 | [[package]] 1868 | name = "parking_lot_core" 1869 | version = "0.9.10" 1870 | source = "registry+https://github.com/rust-lang/crates.io-index" 1871 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1872 | dependencies = [ 1873 | "cfg-if", 1874 | "libc", 1875 | "redox_syscall", 1876 | "smallvec", 1877 | "windows-targets 0.52.6", 1878 | ] 1879 | 1880 | [[package]] 1881 | name = "paste" 1882 | version = "1.0.15" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1885 | 1886 | [[package]] 1887 | name = "percent-encoding" 1888 | version = "2.3.1" 1889 | source = "registry+https://github.com/rust-lang/crates.io-index" 1890 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1891 | 1892 | [[package]] 1893 | name = "pest" 1894 | version = "2.7.14" 1895 | source = "registry+https://github.com/rust-lang/crates.io-index" 1896 | checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" 1897 | dependencies = [ 1898 | "memchr", 1899 | "thiserror", 1900 | "ucd-trie", 1901 | ] 1902 | 1903 | [[package]] 1904 | name = "pest_derive" 1905 | version = "2.7.14" 1906 | source = "registry+https://github.com/rust-lang/crates.io-index" 1907 | checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" 1908 | dependencies = [ 1909 | "pest", 1910 | "pest_generator", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "pest_generator" 1915 | version = "2.7.14" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" 1918 | dependencies = [ 1919 | "pest", 1920 | "pest_meta", 1921 | "proc-macro2", 1922 | "quote", 1923 | "syn 2.0.87", 1924 | ] 1925 | 1926 | [[package]] 1927 | name = "pest_meta" 1928 | version = "2.7.14" 1929 | source = "registry+https://github.com/rust-lang/crates.io-index" 1930 | checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" 1931 | dependencies = [ 1932 | "once_cell", 1933 | "pest", 1934 | "sha2", 1935 | ] 1936 | 1937 | [[package]] 1938 | name = "petgraph" 1939 | version = "0.6.5" 1940 | source = "registry+https://github.com/rust-lang/crates.io-index" 1941 | checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" 1942 | dependencies = [ 1943 | "fixedbitset", 1944 | "indexmap 2.6.0", 1945 | ] 1946 | 1947 | [[package]] 1948 | name = "phf" 1949 | version = "0.11.2" 1950 | source = "registry+https://github.com/rust-lang/crates.io-index" 1951 | checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 1952 | dependencies = [ 1953 | "phf_macros", 1954 | "phf_shared", 1955 | ] 1956 | 1957 | [[package]] 1958 | name = "phf_codegen" 1959 | version = "0.11.2" 1960 | source = "registry+https://github.com/rust-lang/crates.io-index" 1961 | checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" 1962 | dependencies = [ 1963 | "phf_generator", 1964 | "phf_shared", 1965 | ] 1966 | 1967 | [[package]] 1968 | name = "phf_generator" 1969 | version = "0.11.2" 1970 | source = "registry+https://github.com/rust-lang/crates.io-index" 1971 | checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" 1972 | dependencies = [ 1973 | "phf_shared", 1974 | "rand", 1975 | ] 1976 | 1977 | [[package]] 1978 | name = "phf_macros" 1979 | version = "0.11.2" 1980 | source = "registry+https://github.com/rust-lang/crates.io-index" 1981 | checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" 1982 | dependencies = [ 1983 | "phf_generator", 1984 | "phf_shared", 1985 | "proc-macro2", 1986 | "quote", 1987 | "syn 2.0.87", 1988 | ] 1989 | 1990 | [[package]] 1991 | name = "phf_shared" 1992 | version = "0.11.2" 1993 | source = "registry+https://github.com/rust-lang/crates.io-index" 1994 | checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 1995 | dependencies = [ 1996 | "siphasher", 1997 | ] 1998 | 1999 | [[package]] 2000 | name = "pin-project" 2001 | version = "1.1.7" 2002 | source = "registry+https://github.com/rust-lang/crates.io-index" 2003 | checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" 2004 | dependencies = [ 2005 | "pin-project-internal", 2006 | ] 2007 | 2008 | [[package]] 2009 | name = "pin-project-internal" 2010 | version = "1.1.7" 2011 | source = "registry+https://github.com/rust-lang/crates.io-index" 2012 | checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" 2013 | dependencies = [ 2014 | "proc-macro2", 2015 | "quote", 2016 | "syn 2.0.87", 2017 | ] 2018 | 2019 | [[package]] 2020 | name = "pin-project-lite" 2021 | version = "0.2.15" 2022 | source = "registry+https://github.com/rust-lang/crates.io-index" 2023 | checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" 2024 | 2025 | [[package]] 2026 | name = "pin-utils" 2027 | version = "0.1.0" 2028 | source = "registry+https://github.com/rust-lang/crates.io-index" 2029 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2030 | 2031 | [[package]] 2032 | name = "piper" 2033 | version = "0.2.4" 2034 | source = "registry+https://github.com/rust-lang/crates.io-index" 2035 | checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" 2036 | dependencies = [ 2037 | "atomic-waker", 2038 | "fastrand 2.2.0", 2039 | "futures-io", 2040 | ] 2041 | 2042 | [[package]] 2043 | name = "pkg-config" 2044 | version = "0.3.31" 2045 | source = "registry+https://github.com/rust-lang/crates.io-index" 2046 | checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" 2047 | 2048 | [[package]] 2049 | name = "polling" 2050 | version = "2.8.0" 2051 | source = "registry+https://github.com/rust-lang/crates.io-index" 2052 | checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" 2053 | dependencies = [ 2054 | "autocfg", 2055 | "bitflags 1.3.2", 2056 | "cfg-if", 2057 | "concurrent-queue", 2058 | "libc", 2059 | "log", 2060 | "pin-project-lite", 2061 | "windows-sys 0.48.0", 2062 | ] 2063 | 2064 | [[package]] 2065 | name = "polling" 2066 | version = "3.7.4" 2067 | source = "registry+https://github.com/rust-lang/crates.io-index" 2068 | checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" 2069 | dependencies = [ 2070 | "cfg-if", 2071 | "concurrent-queue", 2072 | "hermit-abi 0.4.0", 2073 | "pin-project-lite", 2074 | "rustix", 2075 | "tracing", 2076 | "windows-sys 0.59.0", 2077 | ] 2078 | 2079 | [[package]] 2080 | name = "ppv-lite86" 2081 | version = "0.2.20" 2082 | source = "registry+https://github.com/rust-lang/crates.io-index" 2083 | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" 2084 | dependencies = [ 2085 | "zerocopy", 2086 | ] 2087 | 2088 | [[package]] 2089 | name = "prettyplease" 2090 | version = "0.1.25" 2091 | source = "registry+https://github.com/rust-lang/crates.io-index" 2092 | checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" 2093 | dependencies = [ 2094 | "proc-macro2", 2095 | "syn 1.0.109", 2096 | ] 2097 | 2098 | [[package]] 2099 | name = "proc-macro-error" 2100 | version = "1.0.4" 2101 | source = "registry+https://github.com/rust-lang/crates.io-index" 2102 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 2103 | dependencies = [ 2104 | "proc-macro-error-attr", 2105 | "proc-macro2", 2106 | "quote", 2107 | "syn 1.0.109", 2108 | "version_check", 2109 | ] 2110 | 2111 | [[package]] 2112 | name = "proc-macro-error-attr" 2113 | version = "1.0.4" 2114 | source = "registry+https://github.com/rust-lang/crates.io-index" 2115 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2116 | dependencies = [ 2117 | "proc-macro2", 2118 | "quote", 2119 | "version_check", 2120 | ] 2121 | 2122 | [[package]] 2123 | name = "proc-macro2" 2124 | version = "1.0.89" 2125 | source = "registry+https://github.com/rust-lang/crates.io-index" 2126 | checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" 2127 | dependencies = [ 2128 | "unicode-ident", 2129 | ] 2130 | 2131 | [[package]] 2132 | name = "prost" 2133 | version = "0.11.9" 2134 | source = "registry+https://github.com/rust-lang/crates.io-index" 2135 | checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" 2136 | dependencies = [ 2137 | "bytes", 2138 | "prost-derive", 2139 | ] 2140 | 2141 | [[package]] 2142 | name = "prost-build" 2143 | version = "0.11.9" 2144 | source = "registry+https://github.com/rust-lang/crates.io-index" 2145 | checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" 2146 | dependencies = [ 2147 | "bytes", 2148 | "heck 0.4.1", 2149 | "itertools", 2150 | "lazy_static", 2151 | "log", 2152 | "multimap", 2153 | "petgraph", 2154 | "prettyplease", 2155 | "prost", 2156 | "prost-types", 2157 | "regex", 2158 | "syn 1.0.109", 2159 | "tempfile", 2160 | "which", 2161 | ] 2162 | 2163 | [[package]] 2164 | name = "prost-derive" 2165 | version = "0.11.9" 2166 | source = "registry+https://github.com/rust-lang/crates.io-index" 2167 | checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" 2168 | dependencies = [ 2169 | "anyhow", 2170 | "itertools", 2171 | "proc-macro2", 2172 | "quote", 2173 | "syn 1.0.109", 2174 | ] 2175 | 2176 | [[package]] 2177 | name = "prost-types" 2178 | version = "0.11.9" 2179 | source = "registry+https://github.com/rust-lang/crates.io-index" 2180 | checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" 2181 | dependencies = [ 2182 | "prost", 2183 | ] 2184 | 2185 | [[package]] 2186 | name = "quote" 2187 | version = "1.0.37" 2188 | source = "registry+https://github.com/rust-lang/crates.io-index" 2189 | checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" 2190 | dependencies = [ 2191 | "proc-macro2", 2192 | ] 2193 | 2194 | [[package]] 2195 | name = "rand" 2196 | version = "0.8.5" 2197 | source = "registry+https://github.com/rust-lang/crates.io-index" 2198 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2199 | dependencies = [ 2200 | "libc", 2201 | "rand_chacha", 2202 | "rand_core", 2203 | ] 2204 | 2205 | [[package]] 2206 | name = "rand_chacha" 2207 | version = "0.3.1" 2208 | source = "registry+https://github.com/rust-lang/crates.io-index" 2209 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2210 | dependencies = [ 2211 | "ppv-lite86", 2212 | "rand_core", 2213 | ] 2214 | 2215 | [[package]] 2216 | name = "rand_core" 2217 | version = "0.6.4" 2218 | source = "registry+https://github.com/rust-lang/crates.io-index" 2219 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2220 | dependencies = [ 2221 | "getrandom", 2222 | ] 2223 | 2224 | [[package]] 2225 | name = "redox_syscall" 2226 | version = "0.5.7" 2227 | source = "registry+https://github.com/rust-lang/crates.io-index" 2228 | checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" 2229 | dependencies = [ 2230 | "bitflags 2.6.0", 2231 | ] 2232 | 2233 | [[package]] 2234 | name = "redox_users" 2235 | version = "0.4.6" 2236 | source = "registry+https://github.com/rust-lang/crates.io-index" 2237 | checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 2238 | dependencies = [ 2239 | "getrandom", 2240 | "libredox", 2241 | "thiserror", 2242 | ] 2243 | 2244 | [[package]] 2245 | name = "regex" 2246 | version = "1.11.1" 2247 | source = "registry+https://github.com/rust-lang/crates.io-index" 2248 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 2249 | dependencies = [ 2250 | "aho-corasick", 2251 | "memchr", 2252 | "regex-automata", 2253 | "regex-syntax", 2254 | ] 2255 | 2256 | [[package]] 2257 | name = "regex-automata" 2258 | version = "0.4.9" 2259 | source = "registry+https://github.com/rust-lang/crates.io-index" 2260 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 2261 | dependencies = [ 2262 | "aho-corasick", 2263 | "memchr", 2264 | "regex-syntax", 2265 | ] 2266 | 2267 | [[package]] 2268 | name = "regex-syntax" 2269 | version = "0.8.5" 2270 | source = "registry+https://github.com/rust-lang/crates.io-index" 2271 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 2272 | 2273 | [[package]] 2274 | name = "rmp" 2275 | version = "0.8.14" 2276 | source = "registry+https://github.com/rust-lang/crates.io-index" 2277 | checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" 2278 | dependencies = [ 2279 | "byteorder", 2280 | "num-traits", 2281 | "paste", 2282 | ] 2283 | 2284 | [[package]] 2285 | name = "rmp-serde" 2286 | version = "1.3.0" 2287 | source = "registry+https://github.com/rust-lang/crates.io-index" 2288 | checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" 2289 | dependencies = [ 2290 | "byteorder", 2291 | "rmp", 2292 | "serde", 2293 | ] 2294 | 2295 | [[package]] 2296 | name = "rustc-demangle" 2297 | version = "0.1.24" 2298 | source = "registry+https://github.com/rust-lang/crates.io-index" 2299 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 2300 | 2301 | [[package]] 2302 | name = "rustc_version" 2303 | version = "0.4.1" 2304 | source = "registry+https://github.com/rust-lang/crates.io-index" 2305 | checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 2306 | dependencies = [ 2307 | "semver 1.0.23", 2308 | ] 2309 | 2310 | [[package]] 2311 | name = "rustix" 2312 | version = "0.38.40" 2313 | source = "registry+https://github.com/rust-lang/crates.io-index" 2314 | checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" 2315 | dependencies = [ 2316 | "bitflags 2.6.0", 2317 | "errno", 2318 | "libc", 2319 | "linux-raw-sys", 2320 | "windows-sys 0.52.0", 2321 | ] 2322 | 2323 | [[package]] 2324 | name = "ryu" 2325 | version = "1.0.18" 2326 | source = "registry+https://github.com/rust-lang/crates.io-index" 2327 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 2328 | 2329 | [[package]] 2330 | name = "same-file" 2331 | version = "1.0.6" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2334 | dependencies = [ 2335 | "winapi-util", 2336 | ] 2337 | 2338 | [[package]] 2339 | name = "schannel" 2340 | version = "0.1.26" 2341 | source = "registry+https://github.com/rust-lang/crates.io-index" 2342 | checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" 2343 | dependencies = [ 2344 | "windows-sys 0.59.0", 2345 | ] 2346 | 2347 | [[package]] 2348 | name = "scopeguard" 2349 | version = "1.2.0" 2350 | source = "registry+https://github.com/rust-lang/crates.io-index" 2351 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2352 | 2353 | [[package]] 2354 | name = "semver" 2355 | version = "0.11.0" 2356 | source = "registry+https://github.com/rust-lang/crates.io-index" 2357 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 2358 | dependencies = [ 2359 | "semver-parser", 2360 | ] 2361 | 2362 | [[package]] 2363 | name = "semver" 2364 | version = "1.0.23" 2365 | source = "registry+https://github.com/rust-lang/crates.io-index" 2366 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 2367 | 2368 | [[package]] 2369 | name = "semver-parser" 2370 | version = "0.10.2" 2371 | source = "registry+https://github.com/rust-lang/crates.io-index" 2372 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" 2373 | dependencies = [ 2374 | "pest", 2375 | ] 2376 | 2377 | [[package]] 2378 | name = "serde" 2379 | version = "1.0.215" 2380 | source = "registry+https://github.com/rust-lang/crates.io-index" 2381 | checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" 2382 | dependencies = [ 2383 | "serde_derive", 2384 | ] 2385 | 2386 | [[package]] 2387 | name = "serde-value" 2388 | version = "0.7.0" 2389 | source = "registry+https://github.com/rust-lang/crates.io-index" 2390 | checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" 2391 | dependencies = [ 2392 | "ordered-float 2.10.1", 2393 | "serde", 2394 | ] 2395 | 2396 | [[package]] 2397 | name = "serde_derive" 2398 | version = "1.0.215" 2399 | source = "registry+https://github.com/rust-lang/crates.io-index" 2400 | checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" 2401 | dependencies = [ 2402 | "proc-macro2", 2403 | "quote", 2404 | "syn 2.0.87", 2405 | ] 2406 | 2407 | [[package]] 2408 | name = "serde_json" 2409 | version = "1.0.133" 2410 | source = "registry+https://github.com/rust-lang/crates.io-index" 2411 | checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" 2412 | dependencies = [ 2413 | "itoa", 2414 | "memchr", 2415 | "ryu", 2416 | "serde", 2417 | ] 2418 | 2419 | [[package]] 2420 | name = "serde_yaml" 2421 | version = "0.9.34+deprecated" 2422 | source = "registry+https://github.com/rust-lang/crates.io-index" 2423 | checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" 2424 | dependencies = [ 2425 | "indexmap 2.6.0", 2426 | "itoa", 2427 | "ryu", 2428 | "serde", 2429 | "unsafe-libyaml", 2430 | ] 2431 | 2432 | [[package]] 2433 | name = "sha2" 2434 | version = "0.10.8" 2435 | source = "registry+https://github.com/rust-lang/crates.io-index" 2436 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 2437 | dependencies = [ 2438 | "cfg-if", 2439 | "cpufeatures", 2440 | "digest", 2441 | ] 2442 | 2443 | [[package]] 2444 | name = "shellexpand" 2445 | version = "3.1.0" 2446 | source = "registry+https://github.com/rust-lang/crates.io-index" 2447 | checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" 2448 | dependencies = [ 2449 | "dirs 5.0.1", 2450 | ] 2451 | 2452 | [[package]] 2453 | name = "shlex" 2454 | version = "1.3.0" 2455 | source = "registry+https://github.com/rust-lang/crates.io-index" 2456 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2457 | 2458 | [[package]] 2459 | name = "signal-hook" 2460 | version = "0.3.17" 2461 | source = "registry+https://github.com/rust-lang/crates.io-index" 2462 | checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" 2463 | dependencies = [ 2464 | "libc", 2465 | "signal-hook-registry", 2466 | ] 2467 | 2468 | [[package]] 2469 | name = "signal-hook-registry" 2470 | version = "1.4.2" 2471 | source = "registry+https://github.com/rust-lang/crates.io-index" 2472 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 2473 | dependencies = [ 2474 | "libc", 2475 | ] 2476 | 2477 | [[package]] 2478 | name = "siphasher" 2479 | version = "0.3.11" 2480 | source = "registry+https://github.com/rust-lang/crates.io-index" 2481 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2482 | 2483 | [[package]] 2484 | name = "slab" 2485 | version = "0.4.9" 2486 | source = "registry+https://github.com/rust-lang/crates.io-index" 2487 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2488 | dependencies = [ 2489 | "autocfg", 2490 | ] 2491 | 2492 | [[package]] 2493 | name = "sluice" 2494 | version = "0.5.5" 2495 | source = "registry+https://github.com/rust-lang/crates.io-index" 2496 | checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" 2497 | dependencies = [ 2498 | "async-channel 1.9.0", 2499 | "futures-core", 2500 | "futures-io", 2501 | ] 2502 | 2503 | [[package]] 2504 | name = "smallvec" 2505 | version = "1.13.2" 2506 | source = "registry+https://github.com/rust-lang/crates.io-index" 2507 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2508 | 2509 | [[package]] 2510 | name = "smawk" 2511 | version = "0.3.2" 2512 | source = "registry+https://github.com/rust-lang/crates.io-index" 2513 | checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" 2514 | 2515 | [[package]] 2516 | name = "socket2" 2517 | version = "0.5.7" 2518 | source = "registry+https://github.com/rust-lang/crates.io-index" 2519 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 2520 | dependencies = [ 2521 | "libc", 2522 | "windows-sys 0.52.0", 2523 | ] 2524 | 2525 | [[package]] 2526 | name = "spinning" 2527 | version = "0.1.0" 2528 | source = "registry+https://github.com/rust-lang/crates.io-index" 2529 | checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" 2530 | dependencies = [ 2531 | "lock_api", 2532 | ] 2533 | 2534 | [[package]] 2535 | name = "stable_deref_trait" 2536 | version = "1.2.0" 2537 | source = "registry+https://github.com/rust-lang/crates.io-index" 2538 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2539 | 2540 | [[package]] 2541 | name = "strip-ansi-escapes" 2542 | version = "0.1.1" 2543 | source = "registry+https://github.com/rust-lang/crates.io-index" 2544 | checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8" 2545 | dependencies = [ 2546 | "vte 0.10.1", 2547 | ] 2548 | 2549 | [[package]] 2550 | name = "strsim" 2551 | version = "0.10.0" 2552 | source = "registry+https://github.com/rust-lang/crates.io-index" 2553 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2554 | 2555 | [[package]] 2556 | name = "strum" 2557 | version = "0.20.0" 2558 | source = "registry+https://github.com/rust-lang/crates.io-index" 2559 | checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" 2560 | 2561 | [[package]] 2562 | name = "strum_macros" 2563 | version = "0.20.1" 2564 | source = "registry+https://github.com/rust-lang/crates.io-index" 2565 | checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" 2566 | dependencies = [ 2567 | "heck 0.3.3", 2568 | "proc-macro2", 2569 | "quote", 2570 | "syn 1.0.109", 2571 | ] 2572 | 2573 | [[package]] 2574 | name = "supports-color" 2575 | version = "2.1.0" 2576 | source = "registry+https://github.com/rust-lang/crates.io-index" 2577 | checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" 2578 | dependencies = [ 2579 | "is-terminal", 2580 | "is_ci", 2581 | ] 2582 | 2583 | [[package]] 2584 | name = "supports-hyperlinks" 2585 | version = "2.1.0" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d" 2588 | dependencies = [ 2589 | "is-terminal", 2590 | ] 2591 | 2592 | [[package]] 2593 | name = "supports-unicode" 2594 | version = "2.1.0" 2595 | source = "registry+https://github.com/rust-lang/crates.io-index" 2596 | checksum = "f850c19edd184a205e883199a261ed44471c81e39bd95b1357f5febbef00e77a" 2597 | dependencies = [ 2598 | "is-terminal", 2599 | ] 2600 | 2601 | [[package]] 2602 | name = "syn" 2603 | version = "1.0.109" 2604 | source = "registry+https://github.com/rust-lang/crates.io-index" 2605 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2606 | dependencies = [ 2607 | "proc-macro2", 2608 | "quote", 2609 | "unicode-ident", 2610 | ] 2611 | 2612 | [[package]] 2613 | name = "syn" 2614 | version = "2.0.87" 2615 | source = "registry+https://github.com/rust-lang/crates.io-index" 2616 | checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" 2617 | dependencies = [ 2618 | "proc-macro2", 2619 | "quote", 2620 | "unicode-ident", 2621 | ] 2622 | 2623 | [[package]] 2624 | name = "synstructure" 2625 | version = "0.13.1" 2626 | source = "registry+https://github.com/rust-lang/crates.io-index" 2627 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 2628 | dependencies = [ 2629 | "proc-macro2", 2630 | "quote", 2631 | "syn 2.0.87", 2632 | ] 2633 | 2634 | [[package]] 2635 | name = "tempfile" 2636 | version = "3.14.0" 2637 | source = "registry+https://github.com/rust-lang/crates.io-index" 2638 | checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" 2639 | dependencies = [ 2640 | "cfg-if", 2641 | "fastrand 2.2.0", 2642 | "once_cell", 2643 | "rustix", 2644 | "windows-sys 0.59.0", 2645 | ] 2646 | 2647 | [[package]] 2648 | name = "termcolor" 2649 | version = "1.4.1" 2650 | source = "registry+https://github.com/rust-lang/crates.io-index" 2651 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 2652 | dependencies = [ 2653 | "winapi-util", 2654 | ] 2655 | 2656 | [[package]] 2657 | name = "terminal_size" 2658 | version = "0.1.17" 2659 | source = "registry+https://github.com/rust-lang/crates.io-index" 2660 | checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" 2661 | dependencies = [ 2662 | "libc", 2663 | "winapi", 2664 | ] 2665 | 2666 | [[package]] 2667 | name = "terminfo" 2668 | version = "0.8.0" 2669 | source = "registry+https://github.com/rust-lang/crates.io-index" 2670 | checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" 2671 | dependencies = [ 2672 | "dirs 4.0.0", 2673 | "fnv", 2674 | "nom", 2675 | "phf", 2676 | "phf_codegen", 2677 | ] 2678 | 2679 | [[package]] 2680 | name = "termios" 2681 | version = "0.3.3" 2682 | source = "registry+https://github.com/rust-lang/crates.io-index" 2683 | checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" 2684 | dependencies = [ 2685 | "libc", 2686 | ] 2687 | 2688 | [[package]] 2689 | name = "termwiz" 2690 | version = "0.22.0" 2691 | source = "registry+https://github.com/rust-lang/crates.io-index" 2692 | checksum = "5a75313e21da5d4406ea31402035b3b97aa74c04356bdfafa5d1043ab4e551d1" 2693 | dependencies = [ 2694 | "anyhow", 2695 | "base64", 2696 | "bitflags 2.6.0", 2697 | "fancy-regex", 2698 | "filedescriptor", 2699 | "finl_unicode", 2700 | "fixedbitset", 2701 | "hex", 2702 | "lazy_static", 2703 | "libc", 2704 | "log", 2705 | "memmem", 2706 | "nix 0.26.4", 2707 | "num-derive", 2708 | "num-traits", 2709 | "ordered-float 4.5.0", 2710 | "pest", 2711 | "pest_derive", 2712 | "phf", 2713 | "semver 0.11.0", 2714 | "sha2", 2715 | "signal-hook", 2716 | "siphasher", 2717 | "tempfile", 2718 | "terminfo", 2719 | "termios", 2720 | "thiserror", 2721 | "ucd-trie", 2722 | "unicode-segmentation", 2723 | "vtparse", 2724 | "wezterm-bidi", 2725 | "wezterm-blob-leases", 2726 | "wezterm-color-types", 2727 | "wezterm-dynamic", 2728 | "wezterm-input-types", 2729 | "winapi", 2730 | ] 2731 | 2732 | [[package]] 2733 | name = "textwrap" 2734 | version = "0.15.2" 2735 | source = "registry+https://github.com/rust-lang/crates.io-index" 2736 | checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" 2737 | dependencies = [ 2738 | "smawk", 2739 | "unicode-linebreak", 2740 | "unicode-width", 2741 | ] 2742 | 2743 | [[package]] 2744 | name = "textwrap" 2745 | version = "0.16.1" 2746 | source = "registry+https://github.com/rust-lang/crates.io-index" 2747 | checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" 2748 | 2749 | [[package]] 2750 | name = "thiserror" 2751 | version = "1.0.69" 2752 | source = "registry+https://github.com/rust-lang/crates.io-index" 2753 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 2754 | dependencies = [ 2755 | "thiserror-impl", 2756 | ] 2757 | 2758 | [[package]] 2759 | name = "thiserror-impl" 2760 | version = "1.0.69" 2761 | source = "registry+https://github.com/rust-lang/crates.io-index" 2762 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 2763 | dependencies = [ 2764 | "proc-macro2", 2765 | "quote", 2766 | "syn 2.0.87", 2767 | ] 2768 | 2769 | [[package]] 2770 | name = "thread-id" 2771 | version = "4.2.2" 2772 | source = "registry+https://github.com/rust-lang/crates.io-index" 2773 | checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" 2774 | dependencies = [ 2775 | "libc", 2776 | "winapi", 2777 | ] 2778 | 2779 | [[package]] 2780 | name = "tinystr" 2781 | version = "0.7.6" 2782 | source = "registry+https://github.com/rust-lang/crates.io-index" 2783 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 2784 | dependencies = [ 2785 | "displaydoc", 2786 | "zerovec", 2787 | ] 2788 | 2789 | [[package]] 2790 | name = "to_method" 2791 | version = "1.1.0" 2792 | source = "registry+https://github.com/rust-lang/crates.io-index" 2793 | checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" 2794 | 2795 | [[package]] 2796 | name = "tracing" 2797 | version = "0.1.40" 2798 | source = "registry+https://github.com/rust-lang/crates.io-index" 2799 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 2800 | dependencies = [ 2801 | "log", 2802 | "pin-project-lite", 2803 | "tracing-attributes", 2804 | "tracing-core", 2805 | ] 2806 | 2807 | [[package]] 2808 | name = "tracing-attributes" 2809 | version = "0.1.27" 2810 | source = "registry+https://github.com/rust-lang/crates.io-index" 2811 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 2812 | dependencies = [ 2813 | "proc-macro2", 2814 | "quote", 2815 | "syn 2.0.87", 2816 | ] 2817 | 2818 | [[package]] 2819 | name = "tracing-core" 2820 | version = "0.1.32" 2821 | source = "registry+https://github.com/rust-lang/crates.io-index" 2822 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 2823 | dependencies = [ 2824 | "once_cell", 2825 | ] 2826 | 2827 | [[package]] 2828 | name = "tracing-futures" 2829 | version = "0.2.5" 2830 | source = "registry+https://github.com/rust-lang/crates.io-index" 2831 | checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" 2832 | dependencies = [ 2833 | "pin-project", 2834 | "tracing", 2835 | ] 2836 | 2837 | [[package]] 2838 | name = "typemap-ors" 2839 | version = "1.0.0" 2840 | source = "registry+https://github.com/rust-lang/crates.io-index" 2841 | checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" 2842 | dependencies = [ 2843 | "unsafe-any-ors", 2844 | ] 2845 | 2846 | [[package]] 2847 | name = "typenum" 2848 | version = "1.17.0" 2849 | source = "registry+https://github.com/rust-lang/crates.io-index" 2850 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 2851 | 2852 | [[package]] 2853 | name = "ucd-trie" 2854 | version = "0.1.7" 2855 | source = "registry+https://github.com/rust-lang/crates.io-index" 2856 | checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" 2857 | 2858 | [[package]] 2859 | name = "unicode-ident" 2860 | version = "1.0.13" 2861 | source = "registry+https://github.com/rust-lang/crates.io-index" 2862 | checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" 2863 | 2864 | [[package]] 2865 | name = "unicode-linebreak" 2866 | version = "0.1.5" 2867 | source = "registry+https://github.com/rust-lang/crates.io-index" 2868 | checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 2869 | 2870 | [[package]] 2871 | name = "unicode-segmentation" 2872 | version = "1.12.0" 2873 | source = "registry+https://github.com/rust-lang/crates.io-index" 2874 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 2875 | 2876 | [[package]] 2877 | name = "unicode-width" 2878 | version = "0.1.14" 2879 | source = "registry+https://github.com/rust-lang/crates.io-index" 2880 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 2881 | 2882 | [[package]] 2883 | name = "unsafe-any-ors" 2884 | version = "1.0.0" 2885 | source = "registry+https://github.com/rust-lang/crates.io-index" 2886 | checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" 2887 | dependencies = [ 2888 | "destructure_traitobject", 2889 | ] 2890 | 2891 | [[package]] 2892 | name = "unsafe-libyaml" 2893 | version = "0.2.11" 2894 | source = "registry+https://github.com/rust-lang/crates.io-index" 2895 | checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" 2896 | 2897 | [[package]] 2898 | name = "url" 2899 | version = "2.5.3" 2900 | source = "registry+https://github.com/rust-lang/crates.io-index" 2901 | checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" 2902 | dependencies = [ 2903 | "form_urlencoded", 2904 | "idna", 2905 | "percent-encoding", 2906 | "serde", 2907 | ] 2908 | 2909 | [[package]] 2910 | name = "utf16_iter" 2911 | version = "1.0.5" 2912 | source = "registry+https://github.com/rust-lang/crates.io-index" 2913 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 2914 | 2915 | [[package]] 2916 | name = "utf8_iter" 2917 | version = "1.0.4" 2918 | source = "registry+https://github.com/rust-lang/crates.io-index" 2919 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 2920 | 2921 | [[package]] 2922 | name = "utf8parse" 2923 | version = "0.2.2" 2924 | source = "registry+https://github.com/rust-lang/crates.io-index" 2925 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 2926 | 2927 | [[package]] 2928 | name = "uuid" 2929 | version = "1.11.0" 2930 | source = "registry+https://github.com/rust-lang/crates.io-index" 2931 | checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" 2932 | dependencies = [ 2933 | "atomic", 2934 | "getrandom", 2935 | "serde", 2936 | ] 2937 | 2938 | [[package]] 2939 | name = "value-bag" 2940 | version = "1.10.0" 2941 | source = "registry+https://github.com/rust-lang/crates.io-index" 2942 | checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" 2943 | 2944 | [[package]] 2945 | name = "vcpkg" 2946 | version = "0.2.15" 2947 | source = "registry+https://github.com/rust-lang/crates.io-index" 2948 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2949 | 2950 | [[package]] 2951 | name = "version_check" 2952 | version = "0.9.5" 2953 | source = "registry+https://github.com/rust-lang/crates.io-index" 2954 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 2955 | 2956 | [[package]] 2957 | name = "vte" 2958 | version = "0.10.1" 2959 | source = "registry+https://github.com/rust-lang/crates.io-index" 2960 | checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" 2961 | dependencies = [ 2962 | "arrayvec", 2963 | "utf8parse", 2964 | "vte_generate_state_changes", 2965 | ] 2966 | 2967 | [[package]] 2968 | name = "vte" 2969 | version = "0.11.1" 2970 | source = "registry+https://github.com/rust-lang/crates.io-index" 2971 | checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197" 2972 | dependencies = [ 2973 | "utf8parse", 2974 | "vte_generate_state_changes", 2975 | ] 2976 | 2977 | [[package]] 2978 | name = "vte_generate_state_changes" 2979 | version = "0.1.2" 2980 | source = "registry+https://github.com/rust-lang/crates.io-index" 2981 | checksum = "2e369bee1b05d510a7b4ed645f5faa90619e05437111783ea5848f28d97d3c2e" 2982 | dependencies = [ 2983 | "proc-macro2", 2984 | "quote", 2985 | ] 2986 | 2987 | [[package]] 2988 | name = "vtparse" 2989 | version = "0.6.2" 2990 | source = "registry+https://github.com/rust-lang/crates.io-index" 2991 | checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0" 2992 | dependencies = [ 2993 | "utf8parse", 2994 | ] 2995 | 2996 | [[package]] 2997 | name = "waker-fn" 2998 | version = "1.2.0" 2999 | source = "registry+https://github.com/rust-lang/crates.io-index" 3000 | checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" 3001 | 3002 | [[package]] 3003 | name = "walkdir" 3004 | version = "2.5.0" 3005 | source = "registry+https://github.com/rust-lang/crates.io-index" 3006 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 3007 | dependencies = [ 3008 | "same-file", 3009 | "winapi-util", 3010 | ] 3011 | 3012 | [[package]] 3013 | name = "wasi" 3014 | version = "0.11.0+wasi-snapshot-preview1" 3015 | source = "registry+https://github.com/rust-lang/crates.io-index" 3016 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3017 | 3018 | [[package]] 3019 | name = "wasm-bindgen" 3020 | version = "0.2.95" 3021 | source = "registry+https://github.com/rust-lang/crates.io-index" 3022 | checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" 3023 | dependencies = [ 3024 | "cfg-if", 3025 | "once_cell", 3026 | "wasm-bindgen-macro", 3027 | ] 3028 | 3029 | [[package]] 3030 | name = "wasm-bindgen-backend" 3031 | version = "0.2.95" 3032 | source = "registry+https://github.com/rust-lang/crates.io-index" 3033 | checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" 3034 | dependencies = [ 3035 | "bumpalo", 3036 | "log", 3037 | "once_cell", 3038 | "proc-macro2", 3039 | "quote", 3040 | "syn 2.0.87", 3041 | "wasm-bindgen-shared", 3042 | ] 3043 | 3044 | [[package]] 3045 | name = "wasm-bindgen-futures" 3046 | version = "0.4.45" 3047 | source = "registry+https://github.com/rust-lang/crates.io-index" 3048 | checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" 3049 | dependencies = [ 3050 | "cfg-if", 3051 | "js-sys", 3052 | "wasm-bindgen", 3053 | "web-sys", 3054 | ] 3055 | 3056 | [[package]] 3057 | name = "wasm-bindgen-macro" 3058 | version = "0.2.95" 3059 | source = "registry+https://github.com/rust-lang/crates.io-index" 3060 | checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" 3061 | dependencies = [ 3062 | "quote", 3063 | "wasm-bindgen-macro-support", 3064 | ] 3065 | 3066 | [[package]] 3067 | name = "wasm-bindgen-macro-support" 3068 | version = "0.2.95" 3069 | source = "registry+https://github.com/rust-lang/crates.io-index" 3070 | checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" 3071 | dependencies = [ 3072 | "proc-macro2", 3073 | "quote", 3074 | "syn 2.0.87", 3075 | "wasm-bindgen-backend", 3076 | "wasm-bindgen-shared", 3077 | ] 3078 | 3079 | [[package]] 3080 | name = "wasm-bindgen-shared" 3081 | version = "0.2.95" 3082 | source = "registry+https://github.com/rust-lang/crates.io-index" 3083 | checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" 3084 | 3085 | [[package]] 3086 | name = "web-sys" 3087 | version = "0.3.72" 3088 | source = "registry+https://github.com/rust-lang/crates.io-index" 3089 | checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" 3090 | dependencies = [ 3091 | "js-sys", 3092 | "wasm-bindgen", 3093 | ] 3094 | 3095 | [[package]] 3096 | name = "wezterm-bidi" 3097 | version = "0.2.3" 3098 | source = "registry+https://github.com/rust-lang/crates.io-index" 3099 | checksum = "0c0a6e355560527dd2d1cf7890652f4f09bb3433b6aadade4c9b5ed76de5f3ec" 3100 | dependencies = [ 3101 | "log", 3102 | "wezterm-dynamic", 3103 | ] 3104 | 3105 | [[package]] 3106 | name = "wezterm-blob-leases" 3107 | version = "0.1.0" 3108 | source = "registry+https://github.com/rust-lang/crates.io-index" 3109 | checksum = "8e5a5e0adf7eed68976410def849a4bdab6f6e9f6163f152de9cb89deea9e60b" 3110 | dependencies = [ 3111 | "getrandom", 3112 | "mac_address", 3113 | "once_cell", 3114 | "sha2", 3115 | "thiserror", 3116 | "uuid", 3117 | ] 3118 | 3119 | [[package]] 3120 | name = "wezterm-color-types" 3121 | version = "0.3.0" 3122 | source = "registry+https://github.com/rust-lang/crates.io-index" 3123 | checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296" 3124 | dependencies = [ 3125 | "csscolorparser", 3126 | "deltae", 3127 | "lazy_static", 3128 | "wezterm-dynamic", 3129 | ] 3130 | 3131 | [[package]] 3132 | name = "wezterm-dynamic" 3133 | version = "0.2.0" 3134 | source = "registry+https://github.com/rust-lang/crates.io-index" 3135 | checksum = "dfb128bacfa86734e07681fb6068e34c144698e84ee022d6e009145d1abb77b5" 3136 | dependencies = [ 3137 | "log", 3138 | "ordered-float 4.5.0", 3139 | "strsim", 3140 | "thiserror", 3141 | "wezterm-dynamic-derive", 3142 | ] 3143 | 3144 | [[package]] 3145 | name = "wezterm-dynamic-derive" 3146 | version = "0.1.0" 3147 | source = "registry+https://github.com/rust-lang/crates.io-index" 3148 | checksum = "0c9f5ef318442d07b3d071f9f43ea40b80992f87faee14bb4d017b6991c307f0" 3149 | dependencies = [ 3150 | "proc-macro2", 3151 | "quote", 3152 | "syn 1.0.109", 3153 | ] 3154 | 3155 | [[package]] 3156 | name = "wezterm-input-types" 3157 | version = "0.1.0" 3158 | source = "registry+https://github.com/rust-lang/crates.io-index" 3159 | checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e" 3160 | dependencies = [ 3161 | "bitflags 1.3.2", 3162 | "euclid", 3163 | "lazy_static", 3164 | "wezterm-dynamic", 3165 | ] 3166 | 3167 | [[package]] 3168 | name = "which" 3169 | version = "4.4.2" 3170 | source = "registry+https://github.com/rust-lang/crates.io-index" 3171 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" 3172 | dependencies = [ 3173 | "either", 3174 | "home", 3175 | "once_cell", 3176 | "rustix", 3177 | ] 3178 | 3179 | [[package]] 3180 | name = "winapi" 3181 | version = "0.3.9" 3182 | source = "registry+https://github.com/rust-lang/crates.io-index" 3183 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3184 | dependencies = [ 3185 | "winapi-i686-pc-windows-gnu", 3186 | "winapi-x86_64-pc-windows-gnu", 3187 | ] 3188 | 3189 | [[package]] 3190 | name = "winapi-i686-pc-windows-gnu" 3191 | version = "0.4.0" 3192 | source = "registry+https://github.com/rust-lang/crates.io-index" 3193 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3194 | 3195 | [[package]] 3196 | name = "winapi-util" 3197 | version = "0.1.9" 3198 | source = "registry+https://github.com/rust-lang/crates.io-index" 3199 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 3200 | dependencies = [ 3201 | "windows-sys 0.59.0", 3202 | ] 3203 | 3204 | [[package]] 3205 | name = "winapi-x86_64-pc-windows-gnu" 3206 | version = "0.4.0" 3207 | source = "registry+https://github.com/rust-lang/crates.io-index" 3208 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3209 | 3210 | [[package]] 3211 | name = "windows-core" 3212 | version = "0.52.0" 3213 | source = "registry+https://github.com/rust-lang/crates.io-index" 3214 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 3215 | dependencies = [ 3216 | "windows-targets 0.52.6", 3217 | ] 3218 | 3219 | [[package]] 3220 | name = "windows-sys" 3221 | version = "0.48.0" 3222 | source = "registry+https://github.com/rust-lang/crates.io-index" 3223 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3224 | dependencies = [ 3225 | "windows-targets 0.48.5", 3226 | ] 3227 | 3228 | [[package]] 3229 | name = "windows-sys" 3230 | version = "0.52.0" 3231 | source = "registry+https://github.com/rust-lang/crates.io-index" 3232 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3233 | dependencies = [ 3234 | "windows-targets 0.52.6", 3235 | ] 3236 | 3237 | [[package]] 3238 | name = "windows-sys" 3239 | version = "0.59.0" 3240 | source = "registry+https://github.com/rust-lang/crates.io-index" 3241 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 3242 | dependencies = [ 3243 | "windows-targets 0.52.6", 3244 | ] 3245 | 3246 | [[package]] 3247 | name = "windows-targets" 3248 | version = "0.48.5" 3249 | source = "registry+https://github.com/rust-lang/crates.io-index" 3250 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3251 | dependencies = [ 3252 | "windows_aarch64_gnullvm 0.48.5", 3253 | "windows_aarch64_msvc 0.48.5", 3254 | "windows_i686_gnu 0.48.5", 3255 | "windows_i686_msvc 0.48.5", 3256 | "windows_x86_64_gnu 0.48.5", 3257 | "windows_x86_64_gnullvm 0.48.5", 3258 | "windows_x86_64_msvc 0.48.5", 3259 | ] 3260 | 3261 | [[package]] 3262 | name = "windows-targets" 3263 | version = "0.52.6" 3264 | source = "registry+https://github.com/rust-lang/crates.io-index" 3265 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 3266 | dependencies = [ 3267 | "windows_aarch64_gnullvm 0.52.6", 3268 | "windows_aarch64_msvc 0.52.6", 3269 | "windows_i686_gnu 0.52.6", 3270 | "windows_i686_gnullvm", 3271 | "windows_i686_msvc 0.52.6", 3272 | "windows_x86_64_gnu 0.52.6", 3273 | "windows_x86_64_gnullvm 0.52.6", 3274 | "windows_x86_64_msvc 0.52.6", 3275 | ] 3276 | 3277 | [[package]] 3278 | name = "windows_aarch64_gnullvm" 3279 | version = "0.48.5" 3280 | source = "registry+https://github.com/rust-lang/crates.io-index" 3281 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3282 | 3283 | [[package]] 3284 | name = "windows_aarch64_gnullvm" 3285 | version = "0.52.6" 3286 | source = "registry+https://github.com/rust-lang/crates.io-index" 3287 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 3288 | 3289 | [[package]] 3290 | name = "windows_aarch64_msvc" 3291 | version = "0.48.5" 3292 | source = "registry+https://github.com/rust-lang/crates.io-index" 3293 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3294 | 3295 | [[package]] 3296 | name = "windows_aarch64_msvc" 3297 | version = "0.52.6" 3298 | source = "registry+https://github.com/rust-lang/crates.io-index" 3299 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 3300 | 3301 | [[package]] 3302 | name = "windows_i686_gnu" 3303 | version = "0.48.5" 3304 | source = "registry+https://github.com/rust-lang/crates.io-index" 3305 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3306 | 3307 | [[package]] 3308 | name = "windows_i686_gnu" 3309 | version = "0.52.6" 3310 | source = "registry+https://github.com/rust-lang/crates.io-index" 3311 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 3312 | 3313 | [[package]] 3314 | name = "windows_i686_gnullvm" 3315 | version = "0.52.6" 3316 | source = "registry+https://github.com/rust-lang/crates.io-index" 3317 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 3318 | 3319 | [[package]] 3320 | name = "windows_i686_msvc" 3321 | version = "0.48.5" 3322 | source = "registry+https://github.com/rust-lang/crates.io-index" 3323 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3324 | 3325 | [[package]] 3326 | name = "windows_i686_msvc" 3327 | version = "0.52.6" 3328 | source = "registry+https://github.com/rust-lang/crates.io-index" 3329 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 3330 | 3331 | [[package]] 3332 | name = "windows_x86_64_gnu" 3333 | version = "0.48.5" 3334 | source = "registry+https://github.com/rust-lang/crates.io-index" 3335 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 3336 | 3337 | [[package]] 3338 | name = "windows_x86_64_gnu" 3339 | version = "0.52.6" 3340 | source = "registry+https://github.com/rust-lang/crates.io-index" 3341 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 3342 | 3343 | [[package]] 3344 | name = "windows_x86_64_gnullvm" 3345 | version = "0.48.5" 3346 | source = "registry+https://github.com/rust-lang/crates.io-index" 3347 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 3348 | 3349 | [[package]] 3350 | name = "windows_x86_64_gnullvm" 3351 | version = "0.52.6" 3352 | source = "registry+https://github.com/rust-lang/crates.io-index" 3353 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 3354 | 3355 | [[package]] 3356 | name = "windows_x86_64_msvc" 3357 | version = "0.48.5" 3358 | source = "registry+https://github.com/rust-lang/crates.io-index" 3359 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 3360 | 3361 | [[package]] 3362 | name = "windows_x86_64_msvc" 3363 | version = "0.52.6" 3364 | source = "registry+https://github.com/rust-lang/crates.io-index" 3365 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 3366 | 3367 | [[package]] 3368 | name = "write16" 3369 | version = "1.0.0" 3370 | source = "registry+https://github.com/rust-lang/crates.io-index" 3371 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 3372 | 3373 | [[package]] 3374 | name = "writeable" 3375 | version = "0.5.5" 3376 | source = "registry+https://github.com/rust-lang/crates.io-index" 3377 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 3378 | 3379 | [[package]] 3380 | name = "yoke" 3381 | version = "0.7.4" 3382 | source = "registry+https://github.com/rust-lang/crates.io-index" 3383 | checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" 3384 | dependencies = [ 3385 | "serde", 3386 | "stable_deref_trait", 3387 | "yoke-derive", 3388 | "zerofrom", 3389 | ] 3390 | 3391 | [[package]] 3392 | name = "yoke-derive" 3393 | version = "0.7.4" 3394 | source = "registry+https://github.com/rust-lang/crates.io-index" 3395 | checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" 3396 | dependencies = [ 3397 | "proc-macro2", 3398 | "quote", 3399 | "syn 2.0.87", 3400 | "synstructure", 3401 | ] 3402 | 3403 | [[package]] 3404 | name = "zellij-favs" 3405 | version = "0.1.8" 3406 | dependencies = [ 3407 | "owo-colors", 3408 | "serde", 3409 | "serde_json", 3410 | "zellij-tile", 3411 | ] 3412 | 3413 | [[package]] 3414 | name = "zellij-tile" 3415 | version = "0.42.0" 3416 | source = "registry+https://github.com/rust-lang/crates.io-index" 3417 | checksum = "c216034a5e2fee07e53672d7b96967b8b58d197e295466341c8d13ba93da4441" 3418 | dependencies = [ 3419 | "clap", 3420 | "serde", 3421 | "serde_json", 3422 | "strum", 3423 | "strum_macros", 3424 | "zellij-utils", 3425 | ] 3426 | 3427 | [[package]] 3428 | name = "zellij-utils" 3429 | version = "0.42.0" 3430 | source = "registry+https://github.com/rust-lang/crates.io-index" 3431 | checksum = "43cd61f2e6f66ac10b94ea296e7ae750769dfd795766f7986bb33248832faec8" 3432 | dependencies = [ 3433 | "anyhow", 3434 | "async-channel 1.9.0", 3435 | "async-std", 3436 | "backtrace", 3437 | "bitflags 2.6.0", 3438 | "clap", 3439 | "clap_complete", 3440 | "colored", 3441 | "colorsys", 3442 | "crossbeam", 3443 | "directories", 3444 | "futures", 3445 | "humantime", 3446 | "include_dir", 3447 | "interprocess", 3448 | "isahc", 3449 | "kdl", 3450 | "lazy_static", 3451 | "libc", 3452 | "log", 3453 | "log4rs", 3454 | "miette", 3455 | "nix 0.23.2", 3456 | "notify-debouncer-full", 3457 | "once_cell", 3458 | "percent-encoding", 3459 | "prost", 3460 | "prost-build", 3461 | "regex", 3462 | "rmp-serde", 3463 | "serde", 3464 | "serde_json", 3465 | "shellexpand", 3466 | "signal-hook", 3467 | "strip-ansi-escapes", 3468 | "strum", 3469 | "strum_macros", 3470 | "tempfile", 3471 | "termwiz", 3472 | "thiserror", 3473 | "unicode-width", 3474 | "url", 3475 | "uuid", 3476 | "vte 0.11.1", 3477 | ] 3478 | 3479 | [[package]] 3480 | name = "zerocopy" 3481 | version = "0.7.35" 3482 | source = "registry+https://github.com/rust-lang/crates.io-index" 3483 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" 3484 | dependencies = [ 3485 | "byteorder", 3486 | "zerocopy-derive", 3487 | ] 3488 | 3489 | [[package]] 3490 | name = "zerocopy-derive" 3491 | version = "0.7.35" 3492 | source = "registry+https://github.com/rust-lang/crates.io-index" 3493 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" 3494 | dependencies = [ 3495 | "proc-macro2", 3496 | "quote", 3497 | "syn 2.0.87", 3498 | ] 3499 | 3500 | [[package]] 3501 | name = "zerofrom" 3502 | version = "0.1.4" 3503 | source = "registry+https://github.com/rust-lang/crates.io-index" 3504 | checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" 3505 | dependencies = [ 3506 | "zerofrom-derive", 3507 | ] 3508 | 3509 | [[package]] 3510 | name = "zerofrom-derive" 3511 | version = "0.1.4" 3512 | source = "registry+https://github.com/rust-lang/crates.io-index" 3513 | checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" 3514 | dependencies = [ 3515 | "proc-macro2", 3516 | "quote", 3517 | "syn 2.0.87", 3518 | "synstructure", 3519 | ] 3520 | 3521 | [[package]] 3522 | name = "zerovec" 3523 | version = "0.10.4" 3524 | source = "registry+https://github.com/rust-lang/crates.io-index" 3525 | checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" 3526 | dependencies = [ 3527 | "yoke", 3528 | "zerofrom", 3529 | "zerovec-derive", 3530 | ] 3531 | 3532 | [[package]] 3533 | name = "zerovec-derive" 3534 | version = "0.10.3" 3535 | source = "registry+https://github.com/rust-lang/crates.io-index" 3536 | checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" 3537 | dependencies = [ 3538 | "proc-macro2", 3539 | "quote", 3540 | "syn 2.0.87", 3541 | ] 3542 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zellij-favs" 3 | version = "0.1.8" 4 | authors = ["JoseMM2002 "] 5 | edition = "2021" 6 | 7 | [dependencies] 8 | serde = { version = "1.0.215", features = ["derive"] } 9 | serde_json = "1.0.133" 10 | owo-colors = "3" 11 | zellij-tile = "0.42.0" 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023-Present Jose Morales (@JoseMM2002) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zellij Favs a plugin for [Zellij](https://github.com/zellij-org/zellij) 2 | 3 | A simple and intuitive plugin for managing favorite sessions in Zellij. With zellij-favs, you can keep your favorite sessions organized and easily flush away the unwanted ones. 4 | 5 | ![Preview](pictures/PREVIEW.jpeg) 6 | 7 | # Features 8 | 9 | - Filter Sessions: Use / to filter through your sessions quickly. 10 | - Switch Between Lists: Press Tab to toggle between the "Favorites" and "Flush" lists. 11 | - Move Sessions: Select a session and press Space to move it between the lists. 12 | - Flush Unwanted Sessions: Press F to remove all non-favorite sessions. 13 | - Access Sessions: Press Enter, Left Arrow, or Right Arrow to access the highlighted session. 14 | 15 | ## Usage 16 | 17 | - Filtering: 18 | Press / and start typing to filter sessions. 19 | After filtering, press Enter to return to the sessions list. 20 | 21 | - Switching Lists: 22 | Press Tab to switch between the "Favorites" and "Flush" lists. 23 | 24 | - Managing Sessions: 25 | Highlight a session and press Space to move it between "Favorites" and "Sessions." 26 | 27 | - Flushing Sessions: 28 | Press F to flush all unwanted sessions from the list. 29 | 30 | - Accessing a Session: 31 | Highlight a session and press Enter to open it. 32 | 33 | - Close panel plugin: 34 | Press Esc to exit the plugin 35 | 36 | ![help](pictures/HELP_COMMANDS.jpeg) 37 | 38 | # Installation 39 | 40 | 1. Install the plugin using the following command: 41 | 42 | ```sh 43 | mkdir -p ~/.config/zellij/plugins && \ 44 | curl -L https://github.com/JoseMM2002/zellij-favs/releases/download/v0.1.8/zellij-favs.wasm -o ~/.config/zellij/plugins/zellij-favs.wasm 45 | ``` 46 | 47 | 2. Add the following keybind to your Zellij [configuration](https://zellij.dev/documentation/configuration.html) file: 48 | 49 | ```kdl 50 | shared_except "locked" { 51 | bind "Ctrl {char}" { 52 | LaunchOrFocusPlugin "file:~/.config/zellij/plugins/zellij-favs.wasm" { 53 | floating true 54 | ignore_case true 55 | quick_jump true 56 | } 57 | } 58 | } 59 | ``` 60 | 61 | ## Alternatively, you can use the following configuration: 62 | 63 | ```kdl 64 | bind "Ctrl {char}" { 65 | LaunchOrFocusPlugin "https://github.com/JoseMM2002/zellij-favs/releases/download/v0.1.8/zellij-favs.wasm" { 66 | floating true 67 | ignore_case true 68 | quick_jump true 69 | } 70 | } 71 | ``` 72 | 73 | # Goals 74 | 75 | - [x] Make a plugin that allows users to manage their favorite sessions in Zellij. 76 | - [x] Keep the plugin data available and synchronized on multiple terminal sessions. 77 | - [ ] Keep the plugin data after reboot 78 | - [ ] Add a configuration file to customize the plugin behavior. 79 | - [x] Add pane to show plugin commands and keybinds. 80 | 81 | # Contributing 82 | 83 | If you have any ideas, feel free to open an issue or a pull request. 84 | This is my first project in Rust, so any feedback is welcome. 85 | Thank you for your support! 86 | -------------------------------------------------------------------------------- /favs.kdl: -------------------------------------------------------------------------------- 1 | 2 | layout { 3 | tab name="test"{ 4 | pane command="bash" { // could also be done with watchexec or something similar 5 | args "-c" "cargo build && zellij action start-or-reload-plugin file:target/wasm32-wasip1/debug/zellij-favs.wasm" 6 | } 7 | // pane { 8 | // plugin location="file:target/wasm32-wasip1/debug/zellij-favs.wasm" { 9 | // data_dir "/home/u6130036/.cache/" 10 | // } 11 | // } 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /pictures/HELP_COMMANDS.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoseMM2002/zellij-favs/3bf45aee6b1c3b69e3e67873aaf505ae6f0be258/pictures/HELP_COMMANDS.jpeg -------------------------------------------------------------------------------- /pictures/PREVIEW.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoseMM2002/zellij-favs/3bf45aee6b1c3b69e3e67873aaf505ae6f0be258/pictures/PREVIEW.jpeg -------------------------------------------------------------------------------- /src/favs.rs: -------------------------------------------------------------------------------- 1 | use std::{fs::File, io::Write, path::PathBuf}; 2 | 3 | use owo_colors::OwoColorize; 4 | use zellij_tile::{ 5 | prelude::*, 6 | shim::{print_text_with_coordinates, request_permission, subscribe, Text}, 7 | ZellijPlugin, 8 | }; 9 | 10 | use crate::{ 11 | favs_mode::FavMode, filter::match_filter_key, get_fav_path, help::match_help_keys, 12 | navigate::match_navigation_keys, FavSessionInfo, FAVS_TEMPLATE, 13 | }; 14 | 15 | pub struct Favs { 16 | pub fav_sessions: Vec, 17 | pub flush_sessions: Vec, 18 | pub cursor: usize, 19 | pub mode: FavMode, 20 | pub filter: Option, 21 | pub has_data_dir: bool, 22 | } 23 | 24 | impl Default for Favs { 25 | fn default() -> Self { 26 | Self { 27 | fav_sessions: vec![], 28 | cursor: 0, 29 | mode: FavMode::NavigateFavs, 30 | filter: None, 31 | flush_sessions: vec![], 32 | has_data_dir: false, 33 | } 34 | } 35 | } 36 | 37 | impl Favs { 38 | fn match_key(&mut self, key: &BareKey) -> bool { 39 | match &mut self.mode { 40 | FavMode::Filter => match_filter_key(self, key), 41 | FavMode::Help => match_help_keys(self, key), 42 | _ => match_navigation_keys(self, key), 43 | } 44 | } 45 | pub fn commit_fav_changes(&self) { 46 | let favs_to_save: Vec = self 47 | .fav_sessions 48 | .iter() 49 | .map(|session| session.name.clone()) 50 | .collect(); 51 | let json = serde_json::to_string(&favs_to_save).unwrap(); 52 | 53 | let mut file = File::create(get_fav_path(self.has_data_dir)).unwrap(); 54 | file.write_all(json.as_bytes()).unwrap(); 55 | } 56 | pub fn get_filtered_sessions(&self) -> (Vec, Vec) { 57 | let flush_sessions: Vec = self 58 | .flush_sessions 59 | .iter() 60 | .filter(|session| { 61 | if let Some(filter) = self.filter.clone() { 62 | session.name.to_lowercase().contains(&filter.to_lowercase()) 63 | } else { 64 | true 65 | } 66 | }) 67 | .cloned() 68 | .collect(); 69 | let fav_sessions: Vec = self 70 | .fav_sessions 71 | .iter() 72 | .filter(|session| { 73 | if let Some(filter) = self.filter.clone() { 74 | session.name.to_lowercase().contains(&filter.to_lowercase()) 75 | } else { 76 | true 77 | } 78 | }) 79 | .cloned() 80 | .collect(); 81 | (fav_sessions, flush_sessions) 82 | } 83 | 84 | pub fn render_navigation(&self, cols: usize, rows: usize) { 85 | let half_cols = cols / 2; 86 | 87 | println!( 88 | "{} {}", 89 | ">".cyan().bold(), 90 | if let Some(filter) = &self.filter { 91 | filter.dimmed().italic().to_string() 92 | } else { 93 | "(filter)".dimmed().italic().to_string() 94 | }, 95 | ); 96 | 97 | let favs_title = if self.mode == FavMode::NavigateFavs { 98 | format!("{}", "Favorites".bold().blue()) 99 | } else { 100 | format!("{}", "Favorites".bold().dimmed()) 101 | }; 102 | 103 | print_text_with_coordinates(Text::new(favs_title), 0, 1, None, None); 104 | 105 | let sessions_space = rows.saturating_sub(3); 106 | let skip = if self.cursor > sessions_space.saturating_sub(1) { 107 | self.cursor.saturating_sub(sessions_space.saturating_sub(1)) 108 | } else { 109 | 0 110 | }; 111 | 112 | for (i, session) in self 113 | .fav_sessions 114 | .iter() 115 | .filter(|session| { 116 | if let Some(filter) = self.filter.clone() { 117 | session.name.to_lowercase().contains(&filter.to_lowercase()) 118 | } else { 119 | true 120 | } 121 | }) 122 | .skip({ 123 | if self.mode == FavMode::NavigateFavs { 124 | skip 125 | } else { 126 | 0 127 | } 128 | }) 129 | .enumerate() 130 | { 131 | if i >= sessions_space { 132 | break; 133 | } 134 | let selected_idx = self.cursor.min(sessions_space - 1); 135 | let text = if self.mode == FavMode::NavigateFavs && selected_idx == i { 136 | let selected = format!("{} {}", ">", session.name.clone()); 137 | Text::new(selected) 138 | } else { 139 | Text::new(session.name.clone()) 140 | }; 141 | 142 | print_text_with_coordinates(text, 0, 2 + i, None, None); 143 | } 144 | 145 | let flush_title = if self.mode == FavMode::NavigateFlush { 146 | format!("{}", "Flush".bold().blue()) 147 | } else { 148 | format!("{}", "Flush".bold().dimmed()) 149 | }; 150 | print_text_with_coordinates(Text::new(flush_title), half_cols, 1, None, None); 151 | 152 | for (i, session) in self 153 | .flush_sessions 154 | .iter() 155 | .filter(|session| { 156 | if let Some(filter) = self.filter.clone() { 157 | session.name.to_lowercase().contains(&filter.to_lowercase()) 158 | } else { 159 | true 160 | } 161 | }) 162 | .skip({ 163 | if self.mode == FavMode::NavigateFlush { 164 | skip 165 | } else { 166 | 0 167 | } 168 | }) 169 | .enumerate() 170 | { 171 | if i >= sessions_space { 172 | break; 173 | } 174 | let selected_idx = self.cursor.min(sessions_space - 1); 175 | let text = if self.mode == FavMode::NavigateFlush && selected_idx == i { 176 | let selected = format!("{} {}", ">", session.name.clone()); 177 | Text::new(selected) 178 | } else { 179 | Text::new(session.name.clone()) 180 | }; 181 | print_text_with_coordinates(text, half_cols, 2 + i, None, None); 182 | } 183 | 184 | if self.mode == FavMode::Filter { 185 | return; 186 | } 187 | 188 | let help_text = format!("{}", "Press '?' for help".dimmed().italic()); 189 | print_text_with_coordinates(Text::new(help_text), 0, rows - 1, None, None); 190 | } 191 | pub fn render_help_commands(&self) { 192 | let modes = FavMode::variants(); 193 | for mode in modes.iter() { 194 | if mode == &FavMode::NavigateFlush { 195 | continue; 196 | } 197 | println!("{}", mode.clone().dimmed().italic().red()); 198 | let commands = mode.clone().get_commands(); 199 | 200 | for command in commands.iter() { 201 | println!(" {} - {}", command.0.purple(), command.1); 202 | } 203 | } 204 | } 205 | } 206 | 207 | impl ZellijPlugin for Favs { 208 | fn load(&mut self, configuration: std::collections::BTreeMap) { 209 | request_permission(&[ 210 | PermissionType::ReadApplicationState, 211 | PermissionType::ChangeApplicationState, 212 | PermissionType::FullHdAccess, 213 | ]); 214 | subscribe(&[EventType::Key, EventType::SessionUpdate]); 215 | if let Some(data_dir) = configuration.get("data_dir") { 216 | eprintln!("data_dir: {:?}", data_dir); 217 | change_host_folder(PathBuf::from(data_dir)); 218 | self.has_data_dir = true; 219 | } 220 | if !std::path::Path::new(get_fav_path(self.has_data_dir)).exists() { 221 | let create = File::create(get_fav_path(self.has_data_dir)); 222 | let mut file = create.unwrap(); 223 | file.write_all(FAVS_TEMPLATE.as_bytes()).unwrap(); 224 | } 225 | } 226 | 227 | fn update(&mut self, event: zellij_tile::prelude::Event) -> bool { 228 | let mut render = false; 229 | match event { 230 | Event::Key(key) => { 231 | render = self.match_key(&key.bare_key); 232 | } 233 | Event::SessionUpdate(sessions_info, resurrectable_session_list) => { 234 | let mut current_sessions: Vec = sessions_info 235 | .iter() 236 | .map(|session_info| FavSessionInfo { 237 | name: session_info.name.clone(), 238 | is_active: true, 239 | }) 240 | .collect(); 241 | 242 | current_sessions.extend(resurrectable_session_list.iter().map(|session_info| { 243 | FavSessionInfo { 244 | name: session_info.0.clone(), 245 | is_active: false, 246 | } 247 | })); 248 | 249 | let fav_sessions_json: Vec = 250 | serde_json::from_reader(File::open(get_fav_path(self.has_data_dir)).unwrap()) 251 | .unwrap(); 252 | 253 | let (fav_sessions, flush_sessions): (Vec, Vec) = 254 | current_sessions 255 | .iter() 256 | .cloned() 257 | .partition(|current| fav_sessions_json.contains(¤t.name)); 258 | 259 | self.fav_sessions = fav_sessions; 260 | self.flush_sessions = flush_sessions; 261 | 262 | match self.mode { 263 | FavMode::NavigateFavs => { 264 | self.cursor = self.cursor.min(self.fav_sessions.len()); 265 | } 266 | FavMode::NavigateFlush => { 267 | self.cursor = self.cursor.min(self.flush_sessions.len()); 268 | } 269 | _ => {} 270 | } 271 | 272 | self.commit_fav_changes(); 273 | 274 | render = true; 275 | } 276 | _ => {} 277 | } 278 | 279 | render 280 | } 281 | 282 | fn render(&mut self, rows: usize, cols: usize) { 283 | match self.mode { 284 | FavMode::Help => { 285 | self.render_help_commands(); 286 | } 287 | _ => self.render_navigation(cols, rows), 288 | } 289 | } 290 | } 291 | -------------------------------------------------------------------------------- /src/favs_mode.rs: -------------------------------------------------------------------------------- 1 | use std::fmt::Display; 2 | 3 | use serde::{Deserialize, Serialize}; 4 | 5 | #[derive(Default, Clone, Serialize, Deserialize, PartialEq)] 6 | pub enum FavMode { 7 | #[default] 8 | NavigateFavs, 9 | NavigateFlush, 10 | Filter, 11 | Help, 12 | } 13 | 14 | impl FavMode { 15 | pub fn get_commands(self) -> Vec<(&'static str, &'static str)> { 16 | match self { 17 | FavMode::Filter => { 18 | vec![ 19 | (" | ", "Use filter"), 20 | ("", "Close filter"), 21 | ("", "Delete last character"), 22 | ("", "Go to Favs"), 23 | ("", "Go to Flush"), 24 | ("", "Type character to filter"), 25 | ] 26 | } 27 | FavMode::NavigateFavs | FavMode::NavigateFlush => vec![ 28 | ("", "Open session"), 29 | ("", "Move session to Flush/Favorites"), 30 | ("", "Navigate Flush/Favorites items"), 31 | ("↑k | ↓j", "Move cursor"), 32 | ("/", "Filter"), 33 | ("?", "Help"), 34 | (" | 'q'", "Close"), 35 | ], 36 | FavMode::Help => vec![(" | 'q'", "Close help")], 37 | } 38 | } 39 | pub fn variants() -> Vec { 40 | vec![ 41 | FavMode::NavigateFavs, 42 | FavMode::NavigateFlush, 43 | FavMode::Filter, 44 | FavMode::Help, 45 | ] 46 | } 47 | pub fn total_commands() -> usize { 48 | let modes = FavMode::variants(); 49 | let mut total = 0; 50 | for mode in modes { 51 | total += mode.get_commands().len(); 52 | } 53 | total 54 | } 55 | } 56 | 57 | impl Display for FavMode { 58 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 59 | match self { 60 | FavMode::NavigateFavs | FavMode::NavigateFlush => write!(f, "Navigate"), 61 | FavMode::Filter => write!(f, "Filter"), 62 | FavMode::Help => write!(f, "Help"), 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/filter.rs: -------------------------------------------------------------------------------- 1 | use zellij_tile::prelude::BareKey; 2 | 3 | use crate::{favs::Favs, favs_mode::FavMode}; 4 | 5 | pub fn match_filter_key(ctx: &mut Favs, key: &BareKey) -> bool { 6 | if let Some(filter) = ctx.filter.as_mut() { 7 | match key { 8 | BareKey::Char(char) => { 9 | filter.push(*char); 10 | } 11 | BareKey::Backspace => { 12 | filter.pop(); 13 | } 14 | BareKey::Enter | BareKey::Left => { 15 | ctx.mode = FavMode::NavigateFavs; 16 | ctx.cursor = 0; 17 | } 18 | BareKey::Right | BareKey::Tab => { 19 | ctx.mode = FavMode::NavigateFlush; 20 | ctx.cursor = 0; 21 | } 22 | BareKey::Esc => { 23 | ctx.filter = None; 24 | ctx.mode = FavMode::NavigateFavs; 25 | } 26 | _ => return false, 27 | } 28 | } 29 | true 30 | } 31 | -------------------------------------------------------------------------------- /src/help.rs: -------------------------------------------------------------------------------- 1 | use zellij_tile::prelude::BareKey; 2 | 3 | use crate::{favs::Favs, favs_mode::FavMode}; 4 | 5 | pub fn match_help_keys(ctx: &mut Favs, key: &BareKey) -> bool { 6 | match key { 7 | BareKey::Esc | BareKey::Char('q') => { 8 | ctx.mode = FavMode::NavigateFavs; 9 | } 10 | _ => {} 11 | } 12 | true 13 | } 14 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | use serde::{Deserialize, Serialize}; 2 | 3 | pub mod favs; 4 | pub mod favs_mode; 5 | pub mod filter; 6 | pub mod help; 7 | pub mod navigate; 8 | 9 | pub const FAVS_TEMPLATE: &str = r#"[]"#; 10 | pub const FAVS_PATH_CACHE: &str = "/cache/favs.json"; 11 | pub const FAVS_PATH_TMP: &str = "/tmp/favs.json"; 12 | pub const FAVS_PATH_DATA: &str = "/data/favs.json"; 13 | pub const FAVS_PATH_HOST: &str = "/host/favs.json"; 14 | 15 | pub const FAVS_SYNC_MESSAGE_NAME: &str = "favs_sync"; 16 | 17 | #[derive(Default, Clone, Serialize, Deserialize)] 18 | pub struct FavSessionInfo { 19 | name: String, 20 | is_active: bool, 21 | } 22 | 23 | pub fn get_fav_path(has_data_dir: bool) -> &'static str { 24 | if has_data_dir { 25 | FAVS_PATH_HOST 26 | } else { 27 | FAVS_PATH_TMP 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use zellij_favs::favs::Favs; 2 | use zellij_tile::prelude::*; 3 | use zellij_tile::{register_plugin, ZellijPlugin}; 4 | 5 | register_plugin!(Favs); 6 | -------------------------------------------------------------------------------- /src/navigate.rs: -------------------------------------------------------------------------------- 1 | use zellij_tile::{ 2 | prelude::BareKey, 3 | shim::{close_focus, close_self, delete_dead_session, kill_sessions, switch_session}, 4 | }; 5 | 6 | use crate::{favs::Favs, favs_mode::FavMode}; 7 | 8 | pub fn match_navigation_keys(ctx: &mut Favs, key: &BareKey) -> bool { 9 | let (fav_sessions, flush_sessions) = ctx.get_filtered_sessions(); 10 | 11 | let arr_length = if ctx.mode == FavMode::NavigateFavs { 12 | fav_sessions.len() 13 | } else { 14 | flush_sessions.len() 15 | }; 16 | match key { 17 | BareKey::Char('h') | BareKey::Left => { 18 | ctx.mode = FavMode::NavigateFavs; 19 | ctx.cursor = if ctx.cursor < fav_sessions.len() { 20 | ctx.cursor 21 | } else { 22 | fav_sessions.len().saturating_sub(1) 23 | }; 24 | } 25 | BareKey::Char('j') | BareKey::Down => { 26 | if ctx.cursor + 1 < arr_length { 27 | ctx.cursor += 1; 28 | } 29 | } 30 | BareKey::Char('k') | BareKey::Up => { 31 | if ctx.cursor > 0 { 32 | ctx.cursor -= 1; 33 | } 34 | } 35 | BareKey::Char('l') | BareKey::Right => { 36 | ctx.mode = FavMode::NavigateFlush; 37 | ctx.cursor = if ctx.cursor < flush_sessions.len() { 38 | ctx.cursor 39 | } else { 40 | flush_sessions.len().saturating_sub(1) 41 | }; 42 | } 43 | BareKey::Char('f') => { 44 | let sessions_to_delete: Vec = flush_sessions 45 | .iter() 46 | .filter(|session| session.is_active) 47 | .map(|session| session.name.clone()) 48 | .collect(); 49 | 50 | kill_sessions(&sessions_to_delete); 51 | 52 | for session in flush_sessions.iter() { 53 | delete_dead_session(&session.name); 54 | } 55 | 56 | ctx.flush_sessions 57 | .retain(|session| flush_sessions.iter().any(|s| s.name == session.name)); 58 | ctx.commit_fav_changes(); 59 | } 60 | BareKey::Char('/') => { 61 | ctx.mode = FavMode::Filter; 62 | ctx.filter = Some(String::new()); 63 | } 64 | BareKey::Char(' ') => { 65 | if ctx.mode == FavMode::NavigateFavs { 66 | if fav_sessions.is_empty() { 67 | return false; 68 | } 69 | 70 | let session = fav_sessions[ctx.cursor].clone(); 71 | let session_idx = ctx 72 | .fav_sessions 73 | .iter() 74 | .position(|s| s.name == session.name) 75 | .unwrap(); 76 | 77 | ctx.fav_sessions.remove(session_idx); 78 | ctx.flush_sessions.push(session); 79 | if ctx.cursor == ctx.fav_sessions.len() && !ctx.fav_sessions.is_empty() { 80 | ctx.cursor -= 1; 81 | } 82 | } else { 83 | if flush_sessions.is_empty() { 84 | return false; 85 | } 86 | 87 | let session = flush_sessions[ctx.cursor].clone(); 88 | let session_idx = ctx 89 | .flush_sessions 90 | .iter() 91 | .position(|s| s.name == session.name) 92 | .unwrap(); 93 | 94 | ctx.flush_sessions.remove(session_idx); 95 | ctx.fav_sessions.push(session); 96 | if ctx.cursor == ctx.flush_sessions.len() && !ctx.flush_sessions.is_empty() { 97 | ctx.cursor -= 1; 98 | } 99 | } 100 | ctx.commit_fav_changes(); 101 | } 102 | BareKey::Tab => { 103 | if ctx.mode == FavMode::NavigateFavs { 104 | ctx.mode = FavMode::NavigateFlush; 105 | ctx.cursor = ctx.cursor.min(ctx.flush_sessions.len()); 106 | } else { 107 | ctx.mode = FavMode::NavigateFavs; 108 | ctx.cursor = ctx.cursor.min(ctx.fav_sessions.len()); 109 | } 110 | ctx.cursor = 0; 111 | } 112 | BareKey::Enter => { 113 | close_focus(); 114 | let session = if ctx.mode == FavMode::NavigateFavs { 115 | fav_sessions[ctx.cursor].clone() 116 | } else { 117 | flush_sessions[ctx.cursor].clone() 118 | }; 119 | switch_session(Some(session.name.as_str())); 120 | } 121 | BareKey::Esc | BareKey::Char('q') => { 122 | close_self(); 123 | } 124 | BareKey::Char('?') => { 125 | ctx.mode = FavMode::Help; 126 | } 127 | _ => return false, 128 | }; 129 | true 130 | } 131 | --------------------------------------------------------------------------------