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