├── .cargo └── config.toml ├── .github └── workflows │ ├── lint.yml │ └── release.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENCE ├── README.md ├── assets └── capture.gif ├── cliff.toml ├── plugin-dev-workspace.kdl └── src ├── main.rs └── user_command.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasip1" 3 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | on: push 2 | permissions: write-all 3 | name: Clippy check 4 | 5 | # Make sure CI fails on all warnings, including Clippy lints 6 | env: 7 | RUSTFLAGS: "-Dwarnings" 8 | 9 | jobs: 10 | clippy_check: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | 15 | - name: Install Rust 16 | uses: actions-rs/toolchain@v1 17 | with: 18 | toolchain: 'stable' 19 | profile: minimal 20 | override: true 21 | target: wasm32-wasip1 22 | components: clippy 23 | 24 | - name: Run Clippy 25 | uses: actions-rs/clippy-check@v1 26 | with: 27 | token: ${{ secrets.GITHUB_TOKEN }} 28 | args: --all-features --all-targets 29 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Release 3 | permissions: write-all 4 | on: 5 | push: 6 | tags: 7 | - 'v*.*.*' 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build-release: 12 | name: build-release 13 | runs-on: ubuntu-latest 14 | env: 15 | RUST_BACKTRACE: 1 16 | steps: 17 | - name: Checkout repository 18 | uses: actions/checkout@v4 19 | with: 20 | fetch-depth: 0 21 | 22 | - name: Install Rust 23 | uses: actions-rs/toolchain@v1 24 | with: 25 | toolchain: 'stable' 26 | profile: minimal 27 | override: true 28 | target: wasm32-wasip1 29 | 30 | - name: Build release binary 31 | run: cargo build --release 32 | 33 | - name: Generate a changelog 34 | uses: orhun/git-cliff-action@v3 35 | id: git-cliff 36 | with: 37 | config: cliff.toml 38 | args: -vv --latest --strip header 39 | env: 40 | OUTPUT: CHANGES.md 41 | 42 | - name: Create release 43 | id: create_release 44 | uses: actions/create-release@v1 45 | env: 46 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 47 | with: 48 | tag_name: ${{ github.event_name == 'workflow_dispatch' && '' || github.ref }} 49 | release_name: Release ${{ github.event_name == 'workflow_dispatch' && 'main' || github.ref }} 50 | draft: true 51 | body: ${{ steps.git-cliff.outputs.content }} 52 | prerelease: false 53 | 54 | - name: Upload wasm file to release 55 | uses: actions/upload-release-asset@v1.0.2 56 | env: 57 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 58 | with: 59 | upload_url: ${{ steps.create_release.outputs.upload_url }} 60 | asset_path: ./target/wasm32-wasip1/release/zjpane.wasm 61 | asset_name: zjpane.wasm 62 | asset_content_type: application/octet-stream 63 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /target 3 | *.log 4 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.24.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler2" 16 | version = "2.0.0" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.3" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "android-tzdata" 31 | version = "0.1.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 34 | 35 | [[package]] 36 | name = "android_system_properties" 37 | version = "0.1.5" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 40 | dependencies = [ 41 | "libc", 42 | ] 43 | 44 | [[package]] 45 | name = "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.95" 56 | source = "registry+https://github.com/rust-lang/crates.io-index" 57 | checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" 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.3.0", 116 | "futures-lite 2.6.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.6.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.6.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.4.0", 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.4.0", 179 | "futures-lite 2.6.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.6.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.7.0" 322 | source = "registry+https://github.com/rust-lang/crates.io-index" 323 | checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" 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.6.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.21.0" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" 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.9.0" 368 | source = "registry+https://github.com/rust-lang/crates.io-index" 369 | checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" 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.9" 380 | source = "registry+https://github.com/rust-lang/crates.io-index" 381 | checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" 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.39" 401 | source = "registry+https://github.com/rust-lang/crates.io-index" 402 | checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" 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.2.0" 463 | source = "registry+https://github.com/rust-lang/crates.io-index" 464 | checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" 465 | dependencies = [ 466 | "lazy_static", 467 | "windows-sys 0.59.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 = "concurrent-queue" 478 | version = "2.5.0" 479 | source = "registry+https://github.com/rust-lang/crates.io-index" 480 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 481 | dependencies = [ 482 | "crossbeam-utils", 483 | ] 484 | 485 | [[package]] 486 | name = "core-foundation-sys" 487 | version = "0.8.7" 488 | source = "registry+https://github.com/rust-lang/crates.io-index" 489 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 490 | 491 | [[package]] 492 | name = "cpufeatures" 493 | version = "0.2.16" 494 | source = "registry+https://github.com/rust-lang/crates.io-index" 495 | checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" 496 | dependencies = [ 497 | "libc", 498 | ] 499 | 500 | [[package]] 501 | name = "crossbeam" 502 | version = "0.8.4" 503 | source = "registry+https://github.com/rust-lang/crates.io-index" 504 | checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" 505 | dependencies = [ 506 | "crossbeam-channel", 507 | "crossbeam-deque", 508 | "crossbeam-epoch", 509 | "crossbeam-queue", 510 | "crossbeam-utils", 511 | ] 512 | 513 | [[package]] 514 | name = "crossbeam-channel" 515 | version = "0.5.14" 516 | source = "registry+https://github.com/rust-lang/crates.io-index" 517 | checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" 518 | dependencies = [ 519 | "crossbeam-utils", 520 | ] 521 | 522 | [[package]] 523 | name = "crossbeam-deque" 524 | version = "0.8.6" 525 | source = "registry+https://github.com/rust-lang/crates.io-index" 526 | checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" 527 | dependencies = [ 528 | "crossbeam-epoch", 529 | "crossbeam-utils", 530 | ] 531 | 532 | [[package]] 533 | name = "crossbeam-epoch" 534 | version = "0.9.18" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 537 | dependencies = [ 538 | "crossbeam-utils", 539 | ] 540 | 541 | [[package]] 542 | name = "crossbeam-queue" 543 | version = "0.3.12" 544 | source = "registry+https://github.com/rust-lang/crates.io-index" 545 | checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" 546 | dependencies = [ 547 | "crossbeam-utils", 548 | ] 549 | 550 | [[package]] 551 | name = "crossbeam-utils" 552 | version = "0.8.21" 553 | source = "registry+https://github.com/rust-lang/crates.io-index" 554 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 555 | 556 | [[package]] 557 | name = "crypto-common" 558 | version = "0.1.6" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 561 | dependencies = [ 562 | "generic-array", 563 | "typenum", 564 | ] 565 | 566 | [[package]] 567 | name = "csscolorparser" 568 | version = "0.6.2" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" 571 | dependencies = [ 572 | "lab", 573 | "phf", 574 | ] 575 | 576 | [[package]] 577 | name = "curl" 578 | version = "0.4.47" 579 | source = "registry+https://github.com/rust-lang/crates.io-index" 580 | checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" 581 | dependencies = [ 582 | "curl-sys", 583 | "libc", 584 | "openssl-probe", 585 | "openssl-sys", 586 | "schannel", 587 | "socket2", 588 | "windows-sys 0.52.0", 589 | ] 590 | 591 | [[package]] 592 | name = "curl-sys" 593 | version = "0.4.78+curl-8.11.0" 594 | source = "registry+https://github.com/rust-lang/crates.io-index" 595 | checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" 596 | dependencies = [ 597 | "cc", 598 | "libc", 599 | "libnghttp2-sys", 600 | "libz-sys", 601 | "openssl-sys", 602 | "pkg-config", 603 | "vcpkg", 604 | "windows-sys 0.52.0", 605 | ] 606 | 607 | [[package]] 608 | name = "deltae" 609 | version = "0.3.2" 610 | source = "registry+https://github.com/rust-lang/crates.io-index" 611 | checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" 612 | 613 | [[package]] 614 | name = "derivative" 615 | version = "2.2.0" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 618 | dependencies = [ 619 | "proc-macro2", 620 | "quote", 621 | "syn 1.0.109", 622 | ] 623 | 624 | [[package]] 625 | name = "destructure_traitobject" 626 | version = "0.2.0" 627 | source = "registry+https://github.com/rust-lang/crates.io-index" 628 | checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" 629 | 630 | [[package]] 631 | name = "digest" 632 | version = "0.10.7" 633 | source = "registry+https://github.com/rust-lang/crates.io-index" 634 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 635 | dependencies = [ 636 | "block-buffer", 637 | "crypto-common", 638 | ] 639 | 640 | [[package]] 641 | name = "directories" 642 | version = "5.0.1" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" 645 | dependencies = [ 646 | "dirs-sys 0.4.1", 647 | ] 648 | 649 | [[package]] 650 | name = "dirs" 651 | version = "4.0.0" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" 654 | dependencies = [ 655 | "dirs-sys 0.3.7", 656 | ] 657 | 658 | [[package]] 659 | name = "dirs" 660 | version = "5.0.1" 661 | source = "registry+https://github.com/rust-lang/crates.io-index" 662 | checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 663 | dependencies = [ 664 | "dirs-sys 0.4.1", 665 | ] 666 | 667 | [[package]] 668 | name = "dirs-sys" 669 | version = "0.3.7" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" 672 | dependencies = [ 673 | "libc", 674 | "redox_users", 675 | "winapi", 676 | ] 677 | 678 | [[package]] 679 | name = "dirs-sys" 680 | version = "0.4.1" 681 | source = "registry+https://github.com/rust-lang/crates.io-index" 682 | checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 683 | dependencies = [ 684 | "libc", 685 | "option-ext", 686 | "redox_users", 687 | "windows-sys 0.48.0", 688 | ] 689 | 690 | [[package]] 691 | name = "displaydoc" 692 | version = "0.2.5" 693 | source = "registry+https://github.com/rust-lang/crates.io-index" 694 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 695 | dependencies = [ 696 | "proc-macro2", 697 | "quote", 698 | "syn 2.0.96", 699 | ] 700 | 701 | [[package]] 702 | name = "either" 703 | version = "1.13.0" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" 706 | 707 | [[package]] 708 | name = "encoding_rs" 709 | version = "0.8.35" 710 | source = "registry+https://github.com/rust-lang/crates.io-index" 711 | checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 712 | dependencies = [ 713 | "cfg-if", 714 | ] 715 | 716 | [[package]] 717 | name = "equivalent" 718 | version = "1.0.1" 719 | source = "registry+https://github.com/rust-lang/crates.io-index" 720 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 721 | 722 | [[package]] 723 | name = "errno" 724 | version = "0.3.10" 725 | source = "registry+https://github.com/rust-lang/crates.io-index" 726 | checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" 727 | dependencies = [ 728 | "libc", 729 | "windows-sys 0.59.0", 730 | ] 731 | 732 | [[package]] 733 | name = "euclid" 734 | version = "0.22.11" 735 | source = "registry+https://github.com/rust-lang/crates.io-index" 736 | checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 737 | dependencies = [ 738 | "num-traits", 739 | ] 740 | 741 | [[package]] 742 | name = "event-listener" 743 | version = "2.5.3" 744 | source = "registry+https://github.com/rust-lang/crates.io-index" 745 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 746 | 747 | [[package]] 748 | name = "event-listener" 749 | version = "5.4.0" 750 | source = "registry+https://github.com/rust-lang/crates.io-index" 751 | checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" 752 | dependencies = [ 753 | "concurrent-queue", 754 | "parking", 755 | "pin-project-lite", 756 | ] 757 | 758 | [[package]] 759 | name = "event-listener-strategy" 760 | version = "0.5.3" 761 | source = "registry+https://github.com/rust-lang/crates.io-index" 762 | checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" 763 | dependencies = [ 764 | "event-listener 5.4.0", 765 | "pin-project-lite", 766 | ] 767 | 768 | [[package]] 769 | name = "fancy-regex" 770 | version = "0.11.0" 771 | source = "registry+https://github.com/rust-lang/crates.io-index" 772 | checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" 773 | dependencies = [ 774 | "bit-set", 775 | "regex", 776 | ] 777 | 778 | [[package]] 779 | name = "fastrand" 780 | version = "1.9.0" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 783 | dependencies = [ 784 | "instant", 785 | ] 786 | 787 | [[package]] 788 | name = "fastrand" 789 | version = "2.3.0" 790 | source = "registry+https://github.com/rust-lang/crates.io-index" 791 | checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 792 | 793 | [[package]] 794 | name = "file-id" 795 | version = "0.1.0" 796 | source = "registry+https://github.com/rust-lang/crates.io-index" 797 | checksum = "e13be71e6ca82e91bc0cb862bebaac0b2d1924a5a1d970c822b2f98b63fda8c3" 798 | dependencies = [ 799 | "winapi-util", 800 | ] 801 | 802 | [[package]] 803 | name = "filedescriptor" 804 | version = "0.8.2" 805 | source = "registry+https://github.com/rust-lang/crates.io-index" 806 | checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" 807 | dependencies = [ 808 | "libc", 809 | "thiserror 1.0.69", 810 | "winapi", 811 | ] 812 | 813 | [[package]] 814 | name = "filetime" 815 | version = "0.2.25" 816 | source = "registry+https://github.com/rust-lang/crates.io-index" 817 | checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" 818 | dependencies = [ 819 | "cfg-if", 820 | "libc", 821 | "libredox", 822 | "windows-sys 0.59.0", 823 | ] 824 | 825 | [[package]] 826 | name = "finl_unicode" 827 | version = "1.3.0" 828 | source = "registry+https://github.com/rust-lang/crates.io-index" 829 | checksum = "94c970b525906eb37d3940083aa65b95e481fc1857d467d13374e1d925cfc163" 830 | 831 | [[package]] 832 | name = "fixedbitset" 833 | version = "0.4.2" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 836 | 837 | [[package]] 838 | name = "fnv" 839 | version = "1.0.7" 840 | source = "registry+https://github.com/rust-lang/crates.io-index" 841 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 842 | 843 | [[package]] 844 | name = "form_urlencoded" 845 | version = "1.2.1" 846 | source = "registry+https://github.com/rust-lang/crates.io-index" 847 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 848 | dependencies = [ 849 | "percent-encoding", 850 | ] 851 | 852 | [[package]] 853 | name = "fsevent-sys" 854 | version = "4.1.0" 855 | source = "registry+https://github.com/rust-lang/crates.io-index" 856 | checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" 857 | dependencies = [ 858 | "libc", 859 | ] 860 | 861 | [[package]] 862 | name = "futures" 863 | version = "0.3.31" 864 | source = "registry+https://github.com/rust-lang/crates.io-index" 865 | checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 866 | dependencies = [ 867 | "futures-channel", 868 | "futures-core", 869 | "futures-executor", 870 | "futures-io", 871 | "futures-sink", 872 | "futures-task", 873 | "futures-util", 874 | ] 875 | 876 | [[package]] 877 | name = "futures-channel" 878 | version = "0.3.31" 879 | source = "registry+https://github.com/rust-lang/crates.io-index" 880 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 881 | dependencies = [ 882 | "futures-core", 883 | "futures-sink", 884 | ] 885 | 886 | [[package]] 887 | name = "futures-core" 888 | version = "0.3.31" 889 | source = "registry+https://github.com/rust-lang/crates.io-index" 890 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 891 | 892 | [[package]] 893 | name = "futures-executor" 894 | version = "0.3.31" 895 | source = "registry+https://github.com/rust-lang/crates.io-index" 896 | checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 897 | dependencies = [ 898 | "futures-core", 899 | "futures-task", 900 | "futures-util", 901 | ] 902 | 903 | [[package]] 904 | name = "futures-io" 905 | version = "0.3.31" 906 | source = "registry+https://github.com/rust-lang/crates.io-index" 907 | checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 908 | 909 | [[package]] 910 | name = "futures-lite" 911 | version = "1.13.0" 912 | source = "registry+https://github.com/rust-lang/crates.io-index" 913 | checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 914 | dependencies = [ 915 | "fastrand 1.9.0", 916 | "futures-core", 917 | "futures-io", 918 | "memchr", 919 | "parking", 920 | "pin-project-lite", 921 | "waker-fn", 922 | ] 923 | 924 | [[package]] 925 | name = "futures-lite" 926 | version = "2.6.0" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" 929 | dependencies = [ 930 | "fastrand 2.3.0", 931 | "futures-core", 932 | "futures-io", 933 | "parking", 934 | "pin-project-lite", 935 | ] 936 | 937 | [[package]] 938 | name = "futures-macro" 939 | version = "0.3.31" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 942 | dependencies = [ 943 | "proc-macro2", 944 | "quote", 945 | "syn 2.0.96", 946 | ] 947 | 948 | [[package]] 949 | name = "futures-sink" 950 | version = "0.3.31" 951 | source = "registry+https://github.com/rust-lang/crates.io-index" 952 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 953 | 954 | [[package]] 955 | name = "futures-task" 956 | version = "0.3.31" 957 | source = "registry+https://github.com/rust-lang/crates.io-index" 958 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 959 | 960 | [[package]] 961 | name = "futures-util" 962 | version = "0.3.31" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 965 | dependencies = [ 966 | "futures-channel", 967 | "futures-core", 968 | "futures-io", 969 | "futures-macro", 970 | "futures-sink", 971 | "futures-task", 972 | "memchr", 973 | "pin-project-lite", 974 | "pin-utils", 975 | "slab", 976 | ] 977 | 978 | [[package]] 979 | name = "generic-array" 980 | version = "0.14.7" 981 | source = "registry+https://github.com/rust-lang/crates.io-index" 982 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 983 | dependencies = [ 984 | "typenum", 985 | "version_check", 986 | ] 987 | 988 | [[package]] 989 | name = "getrandom" 990 | version = "0.2.15" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 993 | dependencies = [ 994 | "cfg-if", 995 | "libc", 996 | "wasi", 997 | ] 998 | 999 | [[package]] 1000 | name = "gimli" 1001 | version = "0.31.1" 1002 | source = "registry+https://github.com/rust-lang/crates.io-index" 1003 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 1004 | 1005 | [[package]] 1006 | name = "gloo-timers" 1007 | version = "0.3.0" 1008 | source = "registry+https://github.com/rust-lang/crates.io-index" 1009 | checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" 1010 | dependencies = [ 1011 | "futures-channel", 1012 | "futures-core", 1013 | "js-sys", 1014 | "wasm-bindgen", 1015 | ] 1016 | 1017 | [[package]] 1018 | name = "hashbrown" 1019 | version = "0.12.3" 1020 | source = "registry+https://github.com/rust-lang/crates.io-index" 1021 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1022 | 1023 | [[package]] 1024 | name = "hashbrown" 1025 | version = "0.15.2" 1026 | source = "registry+https://github.com/rust-lang/crates.io-index" 1027 | checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 1028 | 1029 | [[package]] 1030 | name = "heck" 1031 | version = "0.3.3" 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" 1033 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 1034 | dependencies = [ 1035 | "unicode-segmentation", 1036 | ] 1037 | 1038 | [[package]] 1039 | name = "heck" 1040 | version = "0.4.1" 1041 | source = "registry+https://github.com/rust-lang/crates.io-index" 1042 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1043 | 1044 | [[package]] 1045 | name = "hermit-abi" 1046 | version = "0.1.19" 1047 | source = "registry+https://github.com/rust-lang/crates.io-index" 1048 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1049 | dependencies = [ 1050 | "libc", 1051 | ] 1052 | 1053 | [[package]] 1054 | name = "hermit-abi" 1055 | version = "0.4.0" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" 1058 | 1059 | [[package]] 1060 | name = "hex" 1061 | version = "0.4.3" 1062 | source = "registry+https://github.com/rust-lang/crates.io-index" 1063 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1064 | 1065 | [[package]] 1066 | name = "home" 1067 | version = "0.5.11" 1068 | source = "registry+https://github.com/rust-lang/crates.io-index" 1069 | checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" 1070 | dependencies = [ 1071 | "windows-sys 0.59.0", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "http" 1076 | version = "0.2.12" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 1079 | dependencies = [ 1080 | "bytes", 1081 | "fnv", 1082 | "itoa", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "humantime" 1087 | version = "2.1.0" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 1090 | 1091 | [[package]] 1092 | name = "iana-time-zone" 1093 | version = "0.1.61" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" 1096 | dependencies = [ 1097 | "android_system_properties", 1098 | "core-foundation-sys", 1099 | "iana-time-zone-haiku", 1100 | "js-sys", 1101 | "wasm-bindgen", 1102 | "windows-core", 1103 | ] 1104 | 1105 | [[package]] 1106 | name = "iana-time-zone-haiku" 1107 | version = "0.1.2" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1110 | dependencies = [ 1111 | "cc", 1112 | ] 1113 | 1114 | [[package]] 1115 | name = "icu_collections" 1116 | version = "1.5.0" 1117 | source = "registry+https://github.com/rust-lang/crates.io-index" 1118 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 1119 | dependencies = [ 1120 | "displaydoc", 1121 | "yoke", 1122 | "zerofrom", 1123 | "zerovec", 1124 | ] 1125 | 1126 | [[package]] 1127 | name = "icu_locid" 1128 | version = "1.5.0" 1129 | source = "registry+https://github.com/rust-lang/crates.io-index" 1130 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 1131 | dependencies = [ 1132 | "displaydoc", 1133 | "litemap", 1134 | "tinystr", 1135 | "writeable", 1136 | "zerovec", 1137 | ] 1138 | 1139 | [[package]] 1140 | name = "icu_locid_transform" 1141 | version = "1.5.0" 1142 | source = "registry+https://github.com/rust-lang/crates.io-index" 1143 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 1144 | dependencies = [ 1145 | "displaydoc", 1146 | "icu_locid", 1147 | "icu_locid_transform_data", 1148 | "icu_provider", 1149 | "tinystr", 1150 | "zerovec", 1151 | ] 1152 | 1153 | [[package]] 1154 | name = "icu_locid_transform_data" 1155 | version = "1.5.0" 1156 | source = "registry+https://github.com/rust-lang/crates.io-index" 1157 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" 1158 | 1159 | [[package]] 1160 | name = "icu_normalizer" 1161 | version = "1.5.0" 1162 | source = "registry+https://github.com/rust-lang/crates.io-index" 1163 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 1164 | dependencies = [ 1165 | "displaydoc", 1166 | "icu_collections", 1167 | "icu_normalizer_data", 1168 | "icu_properties", 1169 | "icu_provider", 1170 | "smallvec", 1171 | "utf16_iter", 1172 | "utf8_iter", 1173 | "write16", 1174 | "zerovec", 1175 | ] 1176 | 1177 | [[package]] 1178 | name = "icu_normalizer_data" 1179 | version = "1.5.0" 1180 | source = "registry+https://github.com/rust-lang/crates.io-index" 1181 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" 1182 | 1183 | [[package]] 1184 | name = "icu_properties" 1185 | version = "1.5.1" 1186 | source = "registry+https://github.com/rust-lang/crates.io-index" 1187 | checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" 1188 | dependencies = [ 1189 | "displaydoc", 1190 | "icu_collections", 1191 | "icu_locid_transform", 1192 | "icu_properties_data", 1193 | "icu_provider", 1194 | "tinystr", 1195 | "zerovec", 1196 | ] 1197 | 1198 | [[package]] 1199 | name = "icu_properties_data" 1200 | version = "1.5.0" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" 1203 | 1204 | [[package]] 1205 | name = "icu_provider" 1206 | version = "1.5.0" 1207 | source = "registry+https://github.com/rust-lang/crates.io-index" 1208 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 1209 | dependencies = [ 1210 | "displaydoc", 1211 | "icu_locid", 1212 | "icu_provider_macros", 1213 | "stable_deref_trait", 1214 | "tinystr", 1215 | "writeable", 1216 | "yoke", 1217 | "zerofrom", 1218 | "zerovec", 1219 | ] 1220 | 1221 | [[package]] 1222 | name = "icu_provider_macros" 1223 | version = "1.5.0" 1224 | source = "registry+https://github.com/rust-lang/crates.io-index" 1225 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 1226 | dependencies = [ 1227 | "proc-macro2", 1228 | "quote", 1229 | "syn 2.0.96", 1230 | ] 1231 | 1232 | [[package]] 1233 | name = "idna" 1234 | version = "1.0.3" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 1237 | dependencies = [ 1238 | "idna_adapter", 1239 | "smallvec", 1240 | "utf8_iter", 1241 | ] 1242 | 1243 | [[package]] 1244 | name = "idna_adapter" 1245 | version = "1.2.0" 1246 | source = "registry+https://github.com/rust-lang/crates.io-index" 1247 | checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" 1248 | dependencies = [ 1249 | "icu_normalizer", 1250 | "icu_properties", 1251 | ] 1252 | 1253 | [[package]] 1254 | name = "include_dir" 1255 | version = "0.7.4" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" 1258 | dependencies = [ 1259 | "include_dir_macros", 1260 | ] 1261 | 1262 | [[package]] 1263 | name = "include_dir_macros" 1264 | version = "0.7.4" 1265 | source = "registry+https://github.com/rust-lang/crates.io-index" 1266 | checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" 1267 | dependencies = [ 1268 | "proc-macro2", 1269 | "quote", 1270 | ] 1271 | 1272 | [[package]] 1273 | name = "indexmap" 1274 | version = "1.9.3" 1275 | source = "registry+https://github.com/rust-lang/crates.io-index" 1276 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1277 | dependencies = [ 1278 | "autocfg", 1279 | "hashbrown 0.12.3", 1280 | ] 1281 | 1282 | [[package]] 1283 | name = "indexmap" 1284 | version = "2.7.0" 1285 | source = "registry+https://github.com/rust-lang/crates.io-index" 1286 | checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" 1287 | dependencies = [ 1288 | "equivalent", 1289 | "hashbrown 0.15.2", 1290 | ] 1291 | 1292 | [[package]] 1293 | name = "inotify" 1294 | version = "0.9.6" 1295 | source = "registry+https://github.com/rust-lang/crates.io-index" 1296 | checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" 1297 | dependencies = [ 1298 | "bitflags 1.3.2", 1299 | "inotify-sys", 1300 | "libc", 1301 | ] 1302 | 1303 | [[package]] 1304 | name = "inotify-sys" 1305 | version = "0.1.5" 1306 | source = "registry+https://github.com/rust-lang/crates.io-index" 1307 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 1308 | dependencies = [ 1309 | "libc", 1310 | ] 1311 | 1312 | [[package]] 1313 | name = "instant" 1314 | version = "0.1.13" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" 1317 | dependencies = [ 1318 | "cfg-if", 1319 | ] 1320 | 1321 | [[package]] 1322 | name = "interprocess" 1323 | version = "1.2.1" 1324 | source = "registry+https://github.com/rust-lang/crates.io-index" 1325 | checksum = "81f2533f3be42fffe3b5e63b71aeca416c1c3bc33e4e27be018521e76b1f38fb" 1326 | dependencies = [ 1327 | "blocking", 1328 | "cfg-if", 1329 | "futures-core", 1330 | "futures-io", 1331 | "intmap", 1332 | "libc", 1333 | "once_cell", 1334 | "rustc_version", 1335 | "spinning", 1336 | "thiserror 1.0.69", 1337 | "to_method", 1338 | "winapi", 1339 | ] 1340 | 1341 | [[package]] 1342 | name = "intmap" 1343 | version = "0.7.1" 1344 | source = "registry+https://github.com/rust-lang/crates.io-index" 1345 | checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" 1346 | 1347 | [[package]] 1348 | name = "is-terminal" 1349 | version = "0.4.13" 1350 | source = "registry+https://github.com/rust-lang/crates.io-index" 1351 | checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" 1352 | dependencies = [ 1353 | "hermit-abi 0.4.0", 1354 | "libc", 1355 | "windows-sys 0.52.0", 1356 | ] 1357 | 1358 | [[package]] 1359 | name = "is_ci" 1360 | version = "1.2.0" 1361 | source = "registry+https://github.com/rust-lang/crates.io-index" 1362 | checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" 1363 | 1364 | [[package]] 1365 | name = "isahc" 1366 | version = "1.7.2" 1367 | source = "registry+https://github.com/rust-lang/crates.io-index" 1368 | checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" 1369 | dependencies = [ 1370 | "async-channel 1.9.0", 1371 | "castaway", 1372 | "crossbeam-utils", 1373 | "curl", 1374 | "curl-sys", 1375 | "encoding_rs", 1376 | "event-listener 2.5.3", 1377 | "futures-lite 1.13.0", 1378 | "http", 1379 | "log", 1380 | "mime", 1381 | "once_cell", 1382 | "polling 2.8.0", 1383 | "slab", 1384 | "sluice", 1385 | "tracing", 1386 | "tracing-futures", 1387 | "url", 1388 | "waker-fn", 1389 | ] 1390 | 1391 | [[package]] 1392 | name = "itertools" 1393 | version = "0.10.5" 1394 | source = "registry+https://github.com/rust-lang/crates.io-index" 1395 | checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 1396 | dependencies = [ 1397 | "either", 1398 | ] 1399 | 1400 | [[package]] 1401 | name = "itoa" 1402 | version = "1.0.14" 1403 | source = "registry+https://github.com/rust-lang/crates.io-index" 1404 | checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" 1405 | 1406 | [[package]] 1407 | name = "js-sys" 1408 | version = "0.3.77" 1409 | source = "registry+https://github.com/rust-lang/crates.io-index" 1410 | checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 1411 | dependencies = [ 1412 | "once_cell", 1413 | "wasm-bindgen", 1414 | ] 1415 | 1416 | [[package]] 1417 | name = "kdl" 1418 | version = "4.7.1" 1419 | source = "registry+https://github.com/rust-lang/crates.io-index" 1420 | checksum = "e03e2e96c5926fe761088d66c8c2aee3a4352a2573f4eaca50043ad130af9117" 1421 | dependencies = [ 1422 | "miette", 1423 | "nom", 1424 | "thiserror 1.0.69", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "kqueue" 1429 | version = "1.0.8" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" 1432 | dependencies = [ 1433 | "kqueue-sys", 1434 | "libc", 1435 | ] 1436 | 1437 | [[package]] 1438 | name = "kqueue-sys" 1439 | version = "1.0.4" 1440 | source = "registry+https://github.com/rust-lang/crates.io-index" 1441 | checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" 1442 | dependencies = [ 1443 | "bitflags 1.3.2", 1444 | "libc", 1445 | ] 1446 | 1447 | [[package]] 1448 | name = "kv-log-macro" 1449 | version = "1.0.7" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" 1452 | dependencies = [ 1453 | "log", 1454 | ] 1455 | 1456 | [[package]] 1457 | name = "lab" 1458 | version = "0.11.0" 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" 1460 | checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" 1461 | 1462 | [[package]] 1463 | name = "lazy_static" 1464 | version = "1.5.0" 1465 | source = "registry+https://github.com/rust-lang/crates.io-index" 1466 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 1467 | 1468 | [[package]] 1469 | name = "libc" 1470 | version = "0.2.169" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" 1473 | 1474 | [[package]] 1475 | name = "libnghttp2-sys" 1476 | version = "0.1.11+1.64.0" 1477 | source = "registry+https://github.com/rust-lang/crates.io-index" 1478 | checksum = "1b6c24e48a7167cffa7119da39d577fa482e66c688a4aac016bee862e1a713c4" 1479 | dependencies = [ 1480 | "cc", 1481 | "libc", 1482 | ] 1483 | 1484 | [[package]] 1485 | name = "libredox" 1486 | version = "0.1.3" 1487 | source = "registry+https://github.com/rust-lang/crates.io-index" 1488 | checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" 1489 | dependencies = [ 1490 | "bitflags 2.7.0", 1491 | "libc", 1492 | "redox_syscall", 1493 | ] 1494 | 1495 | [[package]] 1496 | name = "libz-sys" 1497 | version = "1.1.21" 1498 | source = "registry+https://github.com/rust-lang/crates.io-index" 1499 | checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" 1500 | dependencies = [ 1501 | "cc", 1502 | "libc", 1503 | "pkg-config", 1504 | "vcpkg", 1505 | ] 1506 | 1507 | [[package]] 1508 | name = "linux-raw-sys" 1509 | version = "0.4.15" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" 1512 | 1513 | [[package]] 1514 | name = "litemap" 1515 | version = "0.7.4" 1516 | source = "registry+https://github.com/rust-lang/crates.io-index" 1517 | checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" 1518 | 1519 | [[package]] 1520 | name = "lock_api" 1521 | version = "0.4.12" 1522 | source = "registry+https://github.com/rust-lang/crates.io-index" 1523 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1524 | dependencies = [ 1525 | "autocfg", 1526 | "scopeguard", 1527 | ] 1528 | 1529 | [[package]] 1530 | name = "log" 1531 | version = "0.4.22" 1532 | source = "registry+https://github.com/rust-lang/crates.io-index" 1533 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 1534 | dependencies = [ 1535 | "serde", 1536 | "value-bag", 1537 | ] 1538 | 1539 | [[package]] 1540 | name = "log-mdc" 1541 | version = "0.1.0" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7" 1544 | 1545 | [[package]] 1546 | name = "log4rs" 1547 | version = "1.3.0" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6" 1550 | dependencies = [ 1551 | "anyhow", 1552 | "arc-swap", 1553 | "chrono", 1554 | "derivative", 1555 | "fnv", 1556 | "humantime", 1557 | "libc", 1558 | "log", 1559 | "log-mdc", 1560 | "once_cell", 1561 | "parking_lot", 1562 | "rand", 1563 | "serde", 1564 | "serde-value", 1565 | "serde_json", 1566 | "serde_yaml", 1567 | "thiserror 1.0.69", 1568 | "thread-id", 1569 | "typemap-ors", 1570 | "winapi", 1571 | ] 1572 | 1573 | [[package]] 1574 | name = "mac_address" 1575 | version = "1.1.7" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" 1578 | dependencies = [ 1579 | "nix 0.28.0", 1580 | "winapi", 1581 | ] 1582 | 1583 | [[package]] 1584 | name = "memchr" 1585 | version = "2.7.4" 1586 | source = "registry+https://github.com/rust-lang/crates.io-index" 1587 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1588 | 1589 | [[package]] 1590 | name = "memmem" 1591 | version = "0.1.1" 1592 | source = "registry+https://github.com/rust-lang/crates.io-index" 1593 | checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" 1594 | 1595 | [[package]] 1596 | name = "memoffset" 1597 | version = "0.6.5" 1598 | source = "registry+https://github.com/rust-lang/crates.io-index" 1599 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1600 | dependencies = [ 1601 | "autocfg", 1602 | ] 1603 | 1604 | [[package]] 1605 | name = "memoffset" 1606 | version = "0.7.1" 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" 1608 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 1609 | dependencies = [ 1610 | "autocfg", 1611 | ] 1612 | 1613 | [[package]] 1614 | name = "memoffset" 1615 | version = "0.9.1" 1616 | source = "registry+https://github.com/rust-lang/crates.io-index" 1617 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1618 | dependencies = [ 1619 | "autocfg", 1620 | ] 1621 | 1622 | [[package]] 1623 | name = "miette" 1624 | version = "5.10.0" 1625 | source = "registry+https://github.com/rust-lang/crates.io-index" 1626 | checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" 1627 | dependencies = [ 1628 | "backtrace", 1629 | "backtrace-ext", 1630 | "is-terminal", 1631 | "miette-derive", 1632 | "once_cell", 1633 | "owo-colors", 1634 | "supports-color", 1635 | "supports-hyperlinks", 1636 | "supports-unicode", 1637 | "terminal_size", 1638 | "textwrap 0.15.2", 1639 | "thiserror 1.0.69", 1640 | "unicode-width", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "miette-derive" 1645 | version = "5.10.0" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" 1648 | dependencies = [ 1649 | "proc-macro2", 1650 | "quote", 1651 | "syn 2.0.96", 1652 | ] 1653 | 1654 | [[package]] 1655 | name = "mime" 1656 | version = "0.3.17" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1659 | 1660 | [[package]] 1661 | name = "minimal-lexical" 1662 | version = "0.2.1" 1663 | source = "registry+https://github.com/rust-lang/crates.io-index" 1664 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1665 | 1666 | [[package]] 1667 | name = "miniz_oxide" 1668 | version = "0.8.2" 1669 | source = "registry+https://github.com/rust-lang/crates.io-index" 1670 | checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" 1671 | dependencies = [ 1672 | "adler2", 1673 | ] 1674 | 1675 | [[package]] 1676 | name = "mio" 1677 | version = "0.8.11" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1680 | dependencies = [ 1681 | "libc", 1682 | "log", 1683 | "wasi", 1684 | "windows-sys 0.48.0", 1685 | ] 1686 | 1687 | [[package]] 1688 | name = "multimap" 1689 | version = "0.8.3" 1690 | source = "registry+https://github.com/rust-lang/crates.io-index" 1691 | checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" 1692 | 1693 | [[package]] 1694 | name = "nix" 1695 | version = "0.23.2" 1696 | source = "registry+https://github.com/rust-lang/crates.io-index" 1697 | checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" 1698 | dependencies = [ 1699 | "bitflags 1.3.2", 1700 | "cc", 1701 | "cfg-if", 1702 | "libc", 1703 | "memoffset 0.6.5", 1704 | ] 1705 | 1706 | [[package]] 1707 | name = "nix" 1708 | version = "0.26.4" 1709 | source = "registry+https://github.com/rust-lang/crates.io-index" 1710 | checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" 1711 | dependencies = [ 1712 | "bitflags 1.3.2", 1713 | "cfg-if", 1714 | "libc", 1715 | "memoffset 0.7.1", 1716 | "pin-utils", 1717 | ] 1718 | 1719 | [[package]] 1720 | name = "nix" 1721 | version = "0.28.0" 1722 | source = "registry+https://github.com/rust-lang/crates.io-index" 1723 | checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" 1724 | dependencies = [ 1725 | "bitflags 2.7.0", 1726 | "cfg-if", 1727 | "cfg_aliases", 1728 | "libc", 1729 | "memoffset 0.9.1", 1730 | ] 1731 | 1732 | [[package]] 1733 | name = "nom" 1734 | version = "7.1.3" 1735 | source = "registry+https://github.com/rust-lang/crates.io-index" 1736 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1737 | dependencies = [ 1738 | "memchr", 1739 | "minimal-lexical", 1740 | ] 1741 | 1742 | [[package]] 1743 | name = "notify" 1744 | version = "6.1.1" 1745 | source = "registry+https://github.com/rust-lang/crates.io-index" 1746 | checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" 1747 | dependencies = [ 1748 | "bitflags 2.7.0", 1749 | "crossbeam-channel", 1750 | "filetime", 1751 | "fsevent-sys", 1752 | "inotify", 1753 | "kqueue", 1754 | "libc", 1755 | "log", 1756 | "mio", 1757 | "walkdir", 1758 | "windows-sys 0.48.0", 1759 | ] 1760 | 1761 | [[package]] 1762 | name = "notify-debouncer-full" 1763 | version = "0.1.0" 1764 | source = "registry+https://github.com/rust-lang/crates.io-index" 1765 | checksum = "f4812c1eb49be776fb8df4961623bdc01ec9dfdc1abe8211ceb09150a2e64219" 1766 | dependencies = [ 1767 | "crossbeam-channel", 1768 | "file-id", 1769 | "notify", 1770 | "parking_lot", 1771 | "walkdir", 1772 | ] 1773 | 1774 | [[package]] 1775 | name = "nu-ansi-term" 1776 | version = "0.46.0" 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" 1778 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1779 | dependencies = [ 1780 | "overload", 1781 | "winapi", 1782 | ] 1783 | 1784 | [[package]] 1785 | name = "num-derive" 1786 | version = "0.3.3" 1787 | source = "registry+https://github.com/rust-lang/crates.io-index" 1788 | checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" 1789 | dependencies = [ 1790 | "proc-macro2", 1791 | "quote", 1792 | "syn 1.0.109", 1793 | ] 1794 | 1795 | [[package]] 1796 | name = "num-traits" 1797 | version = "0.2.19" 1798 | source = "registry+https://github.com/rust-lang/crates.io-index" 1799 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1800 | dependencies = [ 1801 | "autocfg", 1802 | ] 1803 | 1804 | [[package]] 1805 | name = "object" 1806 | version = "0.36.7" 1807 | source = "registry+https://github.com/rust-lang/crates.io-index" 1808 | checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 1809 | dependencies = [ 1810 | "memchr", 1811 | ] 1812 | 1813 | [[package]] 1814 | name = "once_cell" 1815 | version = "1.20.2" 1816 | source = "registry+https://github.com/rust-lang/crates.io-index" 1817 | checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" 1818 | 1819 | [[package]] 1820 | name = "openssl-probe" 1821 | version = "0.1.5" 1822 | source = "registry+https://github.com/rust-lang/crates.io-index" 1823 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1824 | 1825 | [[package]] 1826 | name = "openssl-sys" 1827 | version = "0.9.104" 1828 | source = "registry+https://github.com/rust-lang/crates.io-index" 1829 | checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" 1830 | dependencies = [ 1831 | "cc", 1832 | "libc", 1833 | "pkg-config", 1834 | "vcpkg", 1835 | ] 1836 | 1837 | [[package]] 1838 | name = "option-ext" 1839 | version = "0.2.0" 1840 | source = "registry+https://github.com/rust-lang/crates.io-index" 1841 | checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" 1842 | 1843 | [[package]] 1844 | name = "ordered-float" 1845 | version = "2.10.1" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" 1848 | dependencies = [ 1849 | "num-traits", 1850 | ] 1851 | 1852 | [[package]] 1853 | name = "ordered-float" 1854 | version = "4.6.0" 1855 | source = "registry+https://github.com/rust-lang/crates.io-index" 1856 | checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" 1857 | dependencies = [ 1858 | "num-traits", 1859 | ] 1860 | 1861 | [[package]] 1862 | name = "os_str_bytes" 1863 | version = "6.6.1" 1864 | source = "registry+https://github.com/rust-lang/crates.io-index" 1865 | checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" 1866 | 1867 | [[package]] 1868 | name = "overload" 1869 | version = "0.1.1" 1870 | source = "registry+https://github.com/rust-lang/crates.io-index" 1871 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1872 | 1873 | [[package]] 1874 | name = "owo-colors" 1875 | version = "3.5.0" 1876 | source = "registry+https://github.com/rust-lang/crates.io-index" 1877 | checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 1878 | 1879 | [[package]] 1880 | name = "parking" 1881 | version = "2.2.1" 1882 | source = "registry+https://github.com/rust-lang/crates.io-index" 1883 | checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1884 | 1885 | [[package]] 1886 | name = "parking_lot" 1887 | version = "0.12.3" 1888 | source = "registry+https://github.com/rust-lang/crates.io-index" 1889 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1890 | dependencies = [ 1891 | "lock_api", 1892 | "parking_lot_core", 1893 | ] 1894 | 1895 | [[package]] 1896 | name = "parking_lot_core" 1897 | version = "0.9.10" 1898 | source = "registry+https://github.com/rust-lang/crates.io-index" 1899 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1900 | dependencies = [ 1901 | "cfg-if", 1902 | "libc", 1903 | "redox_syscall", 1904 | "smallvec", 1905 | "windows-targets 0.52.6", 1906 | ] 1907 | 1908 | [[package]] 1909 | name = "paste" 1910 | version = "1.0.15" 1911 | source = "registry+https://github.com/rust-lang/crates.io-index" 1912 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1913 | 1914 | [[package]] 1915 | name = "percent-encoding" 1916 | version = "2.3.1" 1917 | source = "registry+https://github.com/rust-lang/crates.io-index" 1918 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1919 | 1920 | [[package]] 1921 | name = "pest" 1922 | version = "2.7.15" 1923 | source = "registry+https://github.com/rust-lang/crates.io-index" 1924 | checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" 1925 | dependencies = [ 1926 | "memchr", 1927 | "thiserror 2.0.11", 1928 | "ucd-trie", 1929 | ] 1930 | 1931 | [[package]] 1932 | name = "pest_derive" 1933 | version = "2.7.15" 1934 | source = "registry+https://github.com/rust-lang/crates.io-index" 1935 | checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" 1936 | dependencies = [ 1937 | "pest", 1938 | "pest_generator", 1939 | ] 1940 | 1941 | [[package]] 1942 | name = "pest_generator" 1943 | version = "2.7.15" 1944 | source = "registry+https://github.com/rust-lang/crates.io-index" 1945 | checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" 1946 | dependencies = [ 1947 | "pest", 1948 | "pest_meta", 1949 | "proc-macro2", 1950 | "quote", 1951 | "syn 2.0.96", 1952 | ] 1953 | 1954 | [[package]] 1955 | name = "pest_meta" 1956 | version = "2.7.15" 1957 | source = "registry+https://github.com/rust-lang/crates.io-index" 1958 | checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" 1959 | dependencies = [ 1960 | "once_cell", 1961 | "pest", 1962 | "sha2", 1963 | ] 1964 | 1965 | [[package]] 1966 | name = "petgraph" 1967 | version = "0.6.5" 1968 | source = "registry+https://github.com/rust-lang/crates.io-index" 1969 | checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" 1970 | dependencies = [ 1971 | "fixedbitset", 1972 | "indexmap 2.7.0", 1973 | ] 1974 | 1975 | [[package]] 1976 | name = "phf" 1977 | version = "0.11.3" 1978 | source = "registry+https://github.com/rust-lang/crates.io-index" 1979 | checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 1980 | dependencies = [ 1981 | "phf_macros", 1982 | "phf_shared", 1983 | ] 1984 | 1985 | [[package]] 1986 | name = "phf_codegen" 1987 | version = "0.11.3" 1988 | source = "registry+https://github.com/rust-lang/crates.io-index" 1989 | checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 1990 | dependencies = [ 1991 | "phf_generator", 1992 | "phf_shared", 1993 | ] 1994 | 1995 | [[package]] 1996 | name = "phf_generator" 1997 | version = "0.11.3" 1998 | source = "registry+https://github.com/rust-lang/crates.io-index" 1999 | checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 2000 | dependencies = [ 2001 | "phf_shared", 2002 | "rand", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "phf_macros" 2007 | version = "0.11.3" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" 2010 | dependencies = [ 2011 | "phf_generator", 2012 | "phf_shared", 2013 | "proc-macro2", 2014 | "quote", 2015 | "syn 2.0.96", 2016 | ] 2017 | 2018 | [[package]] 2019 | name = "phf_shared" 2020 | version = "0.11.3" 2021 | source = "registry+https://github.com/rust-lang/crates.io-index" 2022 | checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 2023 | dependencies = [ 2024 | "siphasher 1.0.1", 2025 | ] 2026 | 2027 | [[package]] 2028 | name = "pin-project" 2029 | version = "1.1.8" 2030 | source = "registry+https://github.com/rust-lang/crates.io-index" 2031 | checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" 2032 | dependencies = [ 2033 | "pin-project-internal", 2034 | ] 2035 | 2036 | [[package]] 2037 | name = "pin-project-internal" 2038 | version = "1.1.8" 2039 | source = "registry+https://github.com/rust-lang/crates.io-index" 2040 | checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" 2041 | dependencies = [ 2042 | "proc-macro2", 2043 | "quote", 2044 | "syn 2.0.96", 2045 | ] 2046 | 2047 | [[package]] 2048 | name = "pin-project-lite" 2049 | version = "0.2.16" 2050 | source = "registry+https://github.com/rust-lang/crates.io-index" 2051 | checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 2052 | 2053 | [[package]] 2054 | name = "pin-utils" 2055 | version = "0.1.0" 2056 | source = "registry+https://github.com/rust-lang/crates.io-index" 2057 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 2058 | 2059 | [[package]] 2060 | name = "piper" 2061 | version = "0.2.4" 2062 | source = "registry+https://github.com/rust-lang/crates.io-index" 2063 | checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" 2064 | dependencies = [ 2065 | "atomic-waker", 2066 | "fastrand 2.3.0", 2067 | "futures-io", 2068 | ] 2069 | 2070 | [[package]] 2071 | name = "pkg-config" 2072 | version = "0.3.31" 2073 | source = "registry+https://github.com/rust-lang/crates.io-index" 2074 | checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" 2075 | 2076 | [[package]] 2077 | name = "polling" 2078 | version = "2.8.0" 2079 | source = "registry+https://github.com/rust-lang/crates.io-index" 2080 | checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" 2081 | dependencies = [ 2082 | "autocfg", 2083 | "bitflags 1.3.2", 2084 | "cfg-if", 2085 | "concurrent-queue", 2086 | "libc", 2087 | "log", 2088 | "pin-project-lite", 2089 | "windows-sys 0.48.0", 2090 | ] 2091 | 2092 | [[package]] 2093 | name = "polling" 2094 | version = "3.7.4" 2095 | source = "registry+https://github.com/rust-lang/crates.io-index" 2096 | checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" 2097 | dependencies = [ 2098 | "cfg-if", 2099 | "concurrent-queue", 2100 | "hermit-abi 0.4.0", 2101 | "pin-project-lite", 2102 | "rustix", 2103 | "tracing", 2104 | "windows-sys 0.59.0", 2105 | ] 2106 | 2107 | [[package]] 2108 | name = "ppv-lite86" 2109 | version = "0.2.20" 2110 | source = "registry+https://github.com/rust-lang/crates.io-index" 2111 | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" 2112 | dependencies = [ 2113 | "zerocopy", 2114 | ] 2115 | 2116 | [[package]] 2117 | name = "prettyplease" 2118 | version = "0.1.25" 2119 | source = "registry+https://github.com/rust-lang/crates.io-index" 2120 | checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" 2121 | dependencies = [ 2122 | "proc-macro2", 2123 | "syn 1.0.109", 2124 | ] 2125 | 2126 | [[package]] 2127 | name = "proc-macro-error" 2128 | version = "1.0.4" 2129 | source = "registry+https://github.com/rust-lang/crates.io-index" 2130 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 2131 | dependencies = [ 2132 | "proc-macro-error-attr", 2133 | "proc-macro2", 2134 | "quote", 2135 | "syn 1.0.109", 2136 | "version_check", 2137 | ] 2138 | 2139 | [[package]] 2140 | name = "proc-macro-error-attr" 2141 | version = "1.0.4" 2142 | source = "registry+https://github.com/rust-lang/crates.io-index" 2143 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 2144 | dependencies = [ 2145 | "proc-macro2", 2146 | "quote", 2147 | "version_check", 2148 | ] 2149 | 2150 | [[package]] 2151 | name = "proc-macro2" 2152 | version = "1.0.93" 2153 | source = "registry+https://github.com/rust-lang/crates.io-index" 2154 | checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" 2155 | dependencies = [ 2156 | "unicode-ident", 2157 | ] 2158 | 2159 | [[package]] 2160 | name = "prost" 2161 | version = "0.11.9" 2162 | source = "registry+https://github.com/rust-lang/crates.io-index" 2163 | checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" 2164 | dependencies = [ 2165 | "bytes", 2166 | "prost-derive", 2167 | ] 2168 | 2169 | [[package]] 2170 | name = "prost-build" 2171 | version = "0.11.9" 2172 | source = "registry+https://github.com/rust-lang/crates.io-index" 2173 | checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" 2174 | dependencies = [ 2175 | "bytes", 2176 | "heck 0.4.1", 2177 | "itertools", 2178 | "lazy_static", 2179 | "log", 2180 | "multimap", 2181 | "petgraph", 2182 | "prettyplease", 2183 | "prost", 2184 | "prost-types", 2185 | "regex", 2186 | "syn 1.0.109", 2187 | "tempfile", 2188 | "which", 2189 | ] 2190 | 2191 | [[package]] 2192 | name = "prost-derive" 2193 | version = "0.11.9" 2194 | source = "registry+https://github.com/rust-lang/crates.io-index" 2195 | checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" 2196 | dependencies = [ 2197 | "anyhow", 2198 | "itertools", 2199 | "proc-macro2", 2200 | "quote", 2201 | "syn 1.0.109", 2202 | ] 2203 | 2204 | [[package]] 2205 | name = "prost-types" 2206 | version = "0.11.9" 2207 | source = "registry+https://github.com/rust-lang/crates.io-index" 2208 | checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" 2209 | dependencies = [ 2210 | "prost", 2211 | ] 2212 | 2213 | [[package]] 2214 | name = "quote" 2215 | version = "1.0.38" 2216 | source = "registry+https://github.com/rust-lang/crates.io-index" 2217 | checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" 2218 | dependencies = [ 2219 | "proc-macro2", 2220 | ] 2221 | 2222 | [[package]] 2223 | name = "rand" 2224 | version = "0.8.5" 2225 | source = "registry+https://github.com/rust-lang/crates.io-index" 2226 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2227 | dependencies = [ 2228 | "libc", 2229 | "rand_chacha", 2230 | "rand_core", 2231 | ] 2232 | 2233 | [[package]] 2234 | name = "rand_chacha" 2235 | version = "0.3.1" 2236 | source = "registry+https://github.com/rust-lang/crates.io-index" 2237 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2238 | dependencies = [ 2239 | "ppv-lite86", 2240 | "rand_core", 2241 | ] 2242 | 2243 | [[package]] 2244 | name = "rand_core" 2245 | version = "0.6.4" 2246 | source = "registry+https://github.com/rust-lang/crates.io-index" 2247 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2248 | dependencies = [ 2249 | "getrandom", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "redox_syscall" 2254 | version = "0.5.8" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" 2257 | dependencies = [ 2258 | "bitflags 2.7.0", 2259 | ] 2260 | 2261 | [[package]] 2262 | name = "redox_users" 2263 | version = "0.4.6" 2264 | source = "registry+https://github.com/rust-lang/crates.io-index" 2265 | checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 2266 | dependencies = [ 2267 | "getrandom", 2268 | "libredox", 2269 | "thiserror 1.0.69", 2270 | ] 2271 | 2272 | [[package]] 2273 | name = "regex" 2274 | version = "1.11.1" 2275 | source = "registry+https://github.com/rust-lang/crates.io-index" 2276 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 2277 | dependencies = [ 2278 | "aho-corasick", 2279 | "memchr", 2280 | "regex-automata", 2281 | "regex-syntax", 2282 | ] 2283 | 2284 | [[package]] 2285 | name = "regex-automata" 2286 | version = "0.4.9" 2287 | source = "registry+https://github.com/rust-lang/crates.io-index" 2288 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 2289 | dependencies = [ 2290 | "aho-corasick", 2291 | "memchr", 2292 | "regex-syntax", 2293 | ] 2294 | 2295 | [[package]] 2296 | name = "regex-syntax" 2297 | version = "0.8.5" 2298 | source = "registry+https://github.com/rust-lang/crates.io-index" 2299 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 2300 | 2301 | [[package]] 2302 | name = "rmp" 2303 | version = "0.8.14" 2304 | source = "registry+https://github.com/rust-lang/crates.io-index" 2305 | checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" 2306 | dependencies = [ 2307 | "byteorder", 2308 | "num-traits", 2309 | "paste", 2310 | ] 2311 | 2312 | [[package]] 2313 | name = "rmp-serde" 2314 | version = "1.3.0" 2315 | source = "registry+https://github.com/rust-lang/crates.io-index" 2316 | checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" 2317 | dependencies = [ 2318 | "byteorder", 2319 | "rmp", 2320 | "serde", 2321 | ] 2322 | 2323 | [[package]] 2324 | name = "rustc-demangle" 2325 | version = "0.1.24" 2326 | source = "registry+https://github.com/rust-lang/crates.io-index" 2327 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 2328 | 2329 | [[package]] 2330 | name = "rustc_version" 2331 | version = "0.4.1" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 2334 | dependencies = [ 2335 | "semver 1.0.24", 2336 | ] 2337 | 2338 | [[package]] 2339 | name = "rustix" 2340 | version = "0.38.43" 2341 | source = "registry+https://github.com/rust-lang/crates.io-index" 2342 | checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" 2343 | dependencies = [ 2344 | "bitflags 2.7.0", 2345 | "errno", 2346 | "libc", 2347 | "linux-raw-sys", 2348 | "windows-sys 0.59.0", 2349 | ] 2350 | 2351 | [[package]] 2352 | name = "rustversion" 2353 | version = "1.0.19" 2354 | source = "registry+https://github.com/rust-lang/crates.io-index" 2355 | checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" 2356 | 2357 | [[package]] 2358 | name = "ryu" 2359 | version = "1.0.18" 2360 | source = "registry+https://github.com/rust-lang/crates.io-index" 2361 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 2362 | 2363 | [[package]] 2364 | name = "same-file" 2365 | version = "1.0.6" 2366 | source = "registry+https://github.com/rust-lang/crates.io-index" 2367 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2368 | dependencies = [ 2369 | "winapi-util", 2370 | ] 2371 | 2372 | [[package]] 2373 | name = "schannel" 2374 | version = "0.1.27" 2375 | source = "registry+https://github.com/rust-lang/crates.io-index" 2376 | checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 2377 | dependencies = [ 2378 | "windows-sys 0.59.0", 2379 | ] 2380 | 2381 | [[package]] 2382 | name = "scopeguard" 2383 | version = "1.2.0" 2384 | source = "registry+https://github.com/rust-lang/crates.io-index" 2385 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2386 | 2387 | [[package]] 2388 | name = "semver" 2389 | version = "0.11.0" 2390 | source = "registry+https://github.com/rust-lang/crates.io-index" 2391 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 2392 | dependencies = [ 2393 | "semver-parser", 2394 | ] 2395 | 2396 | [[package]] 2397 | name = "semver" 2398 | version = "1.0.24" 2399 | source = "registry+https://github.com/rust-lang/crates.io-index" 2400 | checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" 2401 | 2402 | [[package]] 2403 | name = "semver-parser" 2404 | version = "0.10.3" 2405 | source = "registry+https://github.com/rust-lang/crates.io-index" 2406 | checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" 2407 | dependencies = [ 2408 | "pest", 2409 | ] 2410 | 2411 | [[package]] 2412 | name = "serde" 2413 | version = "1.0.217" 2414 | source = "registry+https://github.com/rust-lang/crates.io-index" 2415 | checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" 2416 | dependencies = [ 2417 | "serde_derive", 2418 | ] 2419 | 2420 | [[package]] 2421 | name = "serde-value" 2422 | version = "0.7.0" 2423 | source = "registry+https://github.com/rust-lang/crates.io-index" 2424 | checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" 2425 | dependencies = [ 2426 | "ordered-float 2.10.1", 2427 | "serde", 2428 | ] 2429 | 2430 | [[package]] 2431 | name = "serde_derive" 2432 | version = "1.0.217" 2433 | source = "registry+https://github.com/rust-lang/crates.io-index" 2434 | checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" 2435 | dependencies = [ 2436 | "proc-macro2", 2437 | "quote", 2438 | "syn 2.0.96", 2439 | ] 2440 | 2441 | [[package]] 2442 | name = "serde_json" 2443 | version = "1.0.135" 2444 | source = "registry+https://github.com/rust-lang/crates.io-index" 2445 | checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" 2446 | dependencies = [ 2447 | "itoa", 2448 | "memchr", 2449 | "ryu", 2450 | "serde", 2451 | ] 2452 | 2453 | [[package]] 2454 | name = "serde_yaml" 2455 | version = "0.9.34+deprecated" 2456 | source = "registry+https://github.com/rust-lang/crates.io-index" 2457 | checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" 2458 | dependencies = [ 2459 | "indexmap 2.7.0", 2460 | "itoa", 2461 | "ryu", 2462 | "serde", 2463 | "unsafe-libyaml", 2464 | ] 2465 | 2466 | [[package]] 2467 | name = "sha2" 2468 | version = "0.10.8" 2469 | source = "registry+https://github.com/rust-lang/crates.io-index" 2470 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 2471 | dependencies = [ 2472 | "cfg-if", 2473 | "cpufeatures", 2474 | "digest", 2475 | ] 2476 | 2477 | [[package]] 2478 | name = "sharded-slab" 2479 | version = "0.1.7" 2480 | source = "registry+https://github.com/rust-lang/crates.io-index" 2481 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 2482 | dependencies = [ 2483 | "lazy_static", 2484 | ] 2485 | 2486 | [[package]] 2487 | name = "shellexpand" 2488 | version = "3.1.0" 2489 | source = "registry+https://github.com/rust-lang/crates.io-index" 2490 | checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" 2491 | dependencies = [ 2492 | "dirs 5.0.1", 2493 | ] 2494 | 2495 | [[package]] 2496 | name = "shlex" 2497 | version = "1.3.0" 2498 | source = "registry+https://github.com/rust-lang/crates.io-index" 2499 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2500 | 2501 | [[package]] 2502 | name = "signal-hook" 2503 | version = "0.3.17" 2504 | source = "registry+https://github.com/rust-lang/crates.io-index" 2505 | checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" 2506 | dependencies = [ 2507 | "libc", 2508 | "signal-hook-registry", 2509 | ] 2510 | 2511 | [[package]] 2512 | name = "signal-hook-registry" 2513 | version = "1.4.2" 2514 | source = "registry+https://github.com/rust-lang/crates.io-index" 2515 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 2516 | dependencies = [ 2517 | "libc", 2518 | ] 2519 | 2520 | [[package]] 2521 | name = "siphasher" 2522 | version = "0.3.11" 2523 | source = "registry+https://github.com/rust-lang/crates.io-index" 2524 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2525 | 2526 | [[package]] 2527 | name = "siphasher" 2528 | version = "1.0.1" 2529 | source = "registry+https://github.com/rust-lang/crates.io-index" 2530 | checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 2531 | 2532 | [[package]] 2533 | name = "slab" 2534 | version = "0.4.9" 2535 | source = "registry+https://github.com/rust-lang/crates.io-index" 2536 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2537 | dependencies = [ 2538 | "autocfg", 2539 | ] 2540 | 2541 | [[package]] 2542 | name = "sluice" 2543 | version = "0.5.5" 2544 | source = "registry+https://github.com/rust-lang/crates.io-index" 2545 | checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" 2546 | dependencies = [ 2547 | "async-channel 1.9.0", 2548 | "futures-core", 2549 | "futures-io", 2550 | ] 2551 | 2552 | [[package]] 2553 | name = "smallvec" 2554 | version = "1.13.2" 2555 | source = "registry+https://github.com/rust-lang/crates.io-index" 2556 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2557 | 2558 | [[package]] 2559 | name = "smawk" 2560 | version = "0.3.2" 2561 | source = "registry+https://github.com/rust-lang/crates.io-index" 2562 | checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" 2563 | 2564 | [[package]] 2565 | name = "socket2" 2566 | version = "0.5.8" 2567 | source = "registry+https://github.com/rust-lang/crates.io-index" 2568 | checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" 2569 | dependencies = [ 2570 | "libc", 2571 | "windows-sys 0.52.0", 2572 | ] 2573 | 2574 | [[package]] 2575 | name = "spinning" 2576 | version = "0.1.0" 2577 | source = "registry+https://github.com/rust-lang/crates.io-index" 2578 | checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" 2579 | dependencies = [ 2580 | "lock_api", 2581 | ] 2582 | 2583 | [[package]] 2584 | name = "stable_deref_trait" 2585 | version = "1.2.0" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2588 | 2589 | [[package]] 2590 | name = "strip-ansi-escapes" 2591 | version = "0.1.1" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8" 2594 | dependencies = [ 2595 | "vte 0.10.1", 2596 | ] 2597 | 2598 | [[package]] 2599 | name = "strsim" 2600 | version = "0.10.0" 2601 | source = "registry+https://github.com/rust-lang/crates.io-index" 2602 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2603 | 2604 | [[package]] 2605 | name = "strum" 2606 | version = "0.20.0" 2607 | source = "registry+https://github.com/rust-lang/crates.io-index" 2608 | checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" 2609 | 2610 | [[package]] 2611 | name = "strum_macros" 2612 | version = "0.20.1" 2613 | source = "registry+https://github.com/rust-lang/crates.io-index" 2614 | checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" 2615 | dependencies = [ 2616 | "heck 0.3.3", 2617 | "proc-macro2", 2618 | "quote", 2619 | "syn 1.0.109", 2620 | ] 2621 | 2622 | [[package]] 2623 | name = "supports-color" 2624 | version = "2.1.0" 2625 | source = "registry+https://github.com/rust-lang/crates.io-index" 2626 | checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" 2627 | dependencies = [ 2628 | "is-terminal", 2629 | "is_ci", 2630 | ] 2631 | 2632 | [[package]] 2633 | name = "supports-hyperlinks" 2634 | version = "2.1.0" 2635 | source = "registry+https://github.com/rust-lang/crates.io-index" 2636 | checksum = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d" 2637 | dependencies = [ 2638 | "is-terminal", 2639 | ] 2640 | 2641 | [[package]] 2642 | name = "supports-unicode" 2643 | version = "2.1.0" 2644 | source = "registry+https://github.com/rust-lang/crates.io-index" 2645 | checksum = "f850c19edd184a205e883199a261ed44471c81e39bd95b1357f5febbef00e77a" 2646 | dependencies = [ 2647 | "is-terminal", 2648 | ] 2649 | 2650 | [[package]] 2651 | name = "syn" 2652 | version = "1.0.109" 2653 | source = "registry+https://github.com/rust-lang/crates.io-index" 2654 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2655 | dependencies = [ 2656 | "proc-macro2", 2657 | "quote", 2658 | "unicode-ident", 2659 | ] 2660 | 2661 | [[package]] 2662 | name = "syn" 2663 | version = "2.0.96" 2664 | source = "registry+https://github.com/rust-lang/crates.io-index" 2665 | checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" 2666 | dependencies = [ 2667 | "proc-macro2", 2668 | "quote", 2669 | "unicode-ident", 2670 | ] 2671 | 2672 | [[package]] 2673 | name = "synstructure" 2674 | version = "0.13.1" 2675 | source = "registry+https://github.com/rust-lang/crates.io-index" 2676 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 2677 | dependencies = [ 2678 | "proc-macro2", 2679 | "quote", 2680 | "syn 2.0.96", 2681 | ] 2682 | 2683 | [[package]] 2684 | name = "tempfile" 2685 | version = "3.15.0" 2686 | source = "registry+https://github.com/rust-lang/crates.io-index" 2687 | checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" 2688 | dependencies = [ 2689 | "cfg-if", 2690 | "fastrand 2.3.0", 2691 | "getrandom", 2692 | "once_cell", 2693 | "rustix", 2694 | "windows-sys 0.59.0", 2695 | ] 2696 | 2697 | [[package]] 2698 | name = "termcolor" 2699 | version = "1.4.1" 2700 | source = "registry+https://github.com/rust-lang/crates.io-index" 2701 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 2702 | dependencies = [ 2703 | "winapi-util", 2704 | ] 2705 | 2706 | [[package]] 2707 | name = "terminal_size" 2708 | version = "0.1.17" 2709 | source = "registry+https://github.com/rust-lang/crates.io-index" 2710 | checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" 2711 | dependencies = [ 2712 | "libc", 2713 | "winapi", 2714 | ] 2715 | 2716 | [[package]] 2717 | name = "terminfo" 2718 | version = "0.8.0" 2719 | source = "registry+https://github.com/rust-lang/crates.io-index" 2720 | checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" 2721 | dependencies = [ 2722 | "dirs 4.0.0", 2723 | "fnv", 2724 | "nom", 2725 | "phf", 2726 | "phf_codegen", 2727 | ] 2728 | 2729 | [[package]] 2730 | name = "termios" 2731 | version = "0.3.3" 2732 | source = "registry+https://github.com/rust-lang/crates.io-index" 2733 | checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" 2734 | dependencies = [ 2735 | "libc", 2736 | ] 2737 | 2738 | [[package]] 2739 | name = "termwiz" 2740 | version = "0.22.0" 2741 | source = "registry+https://github.com/rust-lang/crates.io-index" 2742 | checksum = "5a75313e21da5d4406ea31402035b3b97aa74c04356bdfafa5d1043ab4e551d1" 2743 | dependencies = [ 2744 | "anyhow", 2745 | "base64", 2746 | "bitflags 2.7.0", 2747 | "fancy-regex", 2748 | "filedescriptor", 2749 | "finl_unicode", 2750 | "fixedbitset", 2751 | "hex", 2752 | "lazy_static", 2753 | "libc", 2754 | "log", 2755 | "memmem", 2756 | "nix 0.26.4", 2757 | "num-derive", 2758 | "num-traits", 2759 | "ordered-float 4.6.0", 2760 | "pest", 2761 | "pest_derive", 2762 | "phf", 2763 | "semver 0.11.0", 2764 | "sha2", 2765 | "signal-hook", 2766 | "siphasher 0.3.11", 2767 | "tempfile", 2768 | "terminfo", 2769 | "termios", 2770 | "thiserror 1.0.69", 2771 | "ucd-trie", 2772 | "unicode-segmentation", 2773 | "vtparse", 2774 | "wezterm-bidi", 2775 | "wezterm-blob-leases", 2776 | "wezterm-color-types", 2777 | "wezterm-dynamic", 2778 | "wezterm-input-types", 2779 | "winapi", 2780 | ] 2781 | 2782 | [[package]] 2783 | name = "textwrap" 2784 | version = "0.15.2" 2785 | source = "registry+https://github.com/rust-lang/crates.io-index" 2786 | checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" 2787 | dependencies = [ 2788 | "smawk", 2789 | "unicode-linebreak", 2790 | "unicode-width", 2791 | ] 2792 | 2793 | [[package]] 2794 | name = "textwrap" 2795 | version = "0.16.1" 2796 | source = "registry+https://github.com/rust-lang/crates.io-index" 2797 | checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" 2798 | 2799 | [[package]] 2800 | name = "thiserror" 2801 | version = "1.0.69" 2802 | source = "registry+https://github.com/rust-lang/crates.io-index" 2803 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 2804 | dependencies = [ 2805 | "thiserror-impl 1.0.69", 2806 | ] 2807 | 2808 | [[package]] 2809 | name = "thiserror" 2810 | version = "2.0.11" 2811 | source = "registry+https://github.com/rust-lang/crates.io-index" 2812 | checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" 2813 | dependencies = [ 2814 | "thiserror-impl 2.0.11", 2815 | ] 2816 | 2817 | [[package]] 2818 | name = "thiserror-impl" 2819 | version = "1.0.69" 2820 | source = "registry+https://github.com/rust-lang/crates.io-index" 2821 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 2822 | dependencies = [ 2823 | "proc-macro2", 2824 | "quote", 2825 | "syn 2.0.96", 2826 | ] 2827 | 2828 | [[package]] 2829 | name = "thiserror-impl" 2830 | version = "2.0.11" 2831 | source = "registry+https://github.com/rust-lang/crates.io-index" 2832 | checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" 2833 | dependencies = [ 2834 | "proc-macro2", 2835 | "quote", 2836 | "syn 2.0.96", 2837 | ] 2838 | 2839 | [[package]] 2840 | name = "thread-id" 2841 | version = "4.2.2" 2842 | source = "registry+https://github.com/rust-lang/crates.io-index" 2843 | checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" 2844 | dependencies = [ 2845 | "libc", 2846 | "winapi", 2847 | ] 2848 | 2849 | [[package]] 2850 | name = "thread_local" 2851 | version = "1.1.8" 2852 | source = "registry+https://github.com/rust-lang/crates.io-index" 2853 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 2854 | dependencies = [ 2855 | "cfg-if", 2856 | "once_cell", 2857 | ] 2858 | 2859 | [[package]] 2860 | name = "tinystr" 2861 | version = "0.7.6" 2862 | source = "registry+https://github.com/rust-lang/crates.io-index" 2863 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 2864 | dependencies = [ 2865 | "displaydoc", 2866 | "zerovec", 2867 | ] 2868 | 2869 | [[package]] 2870 | name = "to_method" 2871 | version = "1.1.0" 2872 | source = "registry+https://github.com/rust-lang/crates.io-index" 2873 | checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" 2874 | 2875 | [[package]] 2876 | name = "tracing" 2877 | version = "0.1.41" 2878 | source = "registry+https://github.com/rust-lang/crates.io-index" 2879 | checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 2880 | dependencies = [ 2881 | "log", 2882 | "pin-project-lite", 2883 | "tracing-attributes", 2884 | "tracing-core", 2885 | ] 2886 | 2887 | [[package]] 2888 | name = "tracing-attributes" 2889 | version = "0.1.28" 2890 | source = "registry+https://github.com/rust-lang/crates.io-index" 2891 | checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" 2892 | dependencies = [ 2893 | "proc-macro2", 2894 | "quote", 2895 | "syn 2.0.96", 2896 | ] 2897 | 2898 | [[package]] 2899 | name = "tracing-core" 2900 | version = "0.1.33" 2901 | source = "registry+https://github.com/rust-lang/crates.io-index" 2902 | checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 2903 | dependencies = [ 2904 | "once_cell", 2905 | "valuable", 2906 | ] 2907 | 2908 | [[package]] 2909 | name = "tracing-futures" 2910 | version = "0.2.5" 2911 | source = "registry+https://github.com/rust-lang/crates.io-index" 2912 | checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" 2913 | dependencies = [ 2914 | "pin-project", 2915 | "tracing", 2916 | ] 2917 | 2918 | [[package]] 2919 | name = "tracing-log" 2920 | version = "0.2.0" 2921 | source = "registry+https://github.com/rust-lang/crates.io-index" 2922 | checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 2923 | dependencies = [ 2924 | "log", 2925 | "once_cell", 2926 | "tracing-core", 2927 | ] 2928 | 2929 | [[package]] 2930 | name = "tracing-subscriber" 2931 | version = "0.3.19" 2932 | source = "registry+https://github.com/rust-lang/crates.io-index" 2933 | checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 2934 | dependencies = [ 2935 | "nu-ansi-term", 2936 | "sharded-slab", 2937 | "smallvec", 2938 | "thread_local", 2939 | "tracing-core", 2940 | "tracing-log", 2941 | ] 2942 | 2943 | [[package]] 2944 | name = "typemap-ors" 2945 | version = "1.0.0" 2946 | source = "registry+https://github.com/rust-lang/crates.io-index" 2947 | checksum = "a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867" 2948 | dependencies = [ 2949 | "unsafe-any-ors", 2950 | ] 2951 | 2952 | [[package]] 2953 | name = "typenum" 2954 | version = "1.17.0" 2955 | source = "registry+https://github.com/rust-lang/crates.io-index" 2956 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 2957 | 2958 | [[package]] 2959 | name = "ucd-trie" 2960 | version = "0.1.7" 2961 | source = "registry+https://github.com/rust-lang/crates.io-index" 2962 | checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" 2963 | 2964 | [[package]] 2965 | name = "unicode-ident" 2966 | version = "1.0.14" 2967 | source = "registry+https://github.com/rust-lang/crates.io-index" 2968 | checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" 2969 | 2970 | [[package]] 2971 | name = "unicode-linebreak" 2972 | version = "0.1.5" 2973 | source = "registry+https://github.com/rust-lang/crates.io-index" 2974 | checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 2975 | 2976 | [[package]] 2977 | name = "unicode-segmentation" 2978 | version = "1.12.0" 2979 | source = "registry+https://github.com/rust-lang/crates.io-index" 2980 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 2981 | 2982 | [[package]] 2983 | name = "unicode-width" 2984 | version = "0.1.14" 2985 | source = "registry+https://github.com/rust-lang/crates.io-index" 2986 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" 2987 | 2988 | [[package]] 2989 | name = "unsafe-any-ors" 2990 | version = "1.0.0" 2991 | source = "registry+https://github.com/rust-lang/crates.io-index" 2992 | checksum = "e0a303d30665362d9680d7d91d78b23f5f899504d4f08b3c4cf08d055d87c0ad" 2993 | dependencies = [ 2994 | "destructure_traitobject", 2995 | ] 2996 | 2997 | [[package]] 2998 | name = "unsafe-libyaml" 2999 | version = "0.2.11" 3000 | source = "registry+https://github.com/rust-lang/crates.io-index" 3001 | checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" 3002 | 3003 | [[package]] 3004 | name = "url" 3005 | version = "2.5.4" 3006 | source = "registry+https://github.com/rust-lang/crates.io-index" 3007 | checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 3008 | dependencies = [ 3009 | "form_urlencoded", 3010 | "idna", 3011 | "percent-encoding", 3012 | "serde", 3013 | ] 3014 | 3015 | [[package]] 3016 | name = "utf16_iter" 3017 | version = "1.0.5" 3018 | source = "registry+https://github.com/rust-lang/crates.io-index" 3019 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 3020 | 3021 | [[package]] 3022 | name = "utf8_iter" 3023 | version = "1.0.4" 3024 | source = "registry+https://github.com/rust-lang/crates.io-index" 3025 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 3026 | 3027 | [[package]] 3028 | name = "utf8parse" 3029 | version = "0.2.2" 3030 | source = "registry+https://github.com/rust-lang/crates.io-index" 3031 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 3032 | 3033 | [[package]] 3034 | name = "uuid" 3035 | version = "1.11.1" 3036 | source = "registry+https://github.com/rust-lang/crates.io-index" 3037 | checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" 3038 | dependencies = [ 3039 | "atomic", 3040 | "getrandom", 3041 | "serde", 3042 | ] 3043 | 3044 | [[package]] 3045 | name = "valuable" 3046 | version = "0.1.0" 3047 | source = "registry+https://github.com/rust-lang/crates.io-index" 3048 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 3049 | 3050 | [[package]] 3051 | name = "value-bag" 3052 | version = "1.10.0" 3053 | source = "registry+https://github.com/rust-lang/crates.io-index" 3054 | checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" 3055 | 3056 | [[package]] 3057 | name = "vcpkg" 3058 | version = "0.2.15" 3059 | source = "registry+https://github.com/rust-lang/crates.io-index" 3060 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 3061 | 3062 | [[package]] 3063 | name = "version_check" 3064 | version = "0.9.5" 3065 | source = "registry+https://github.com/rust-lang/crates.io-index" 3066 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 3067 | 3068 | [[package]] 3069 | name = "vte" 3070 | version = "0.10.1" 3071 | source = "registry+https://github.com/rust-lang/crates.io-index" 3072 | checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" 3073 | dependencies = [ 3074 | "arrayvec", 3075 | "utf8parse", 3076 | "vte_generate_state_changes", 3077 | ] 3078 | 3079 | [[package]] 3080 | name = "vte" 3081 | version = "0.11.1" 3082 | source = "registry+https://github.com/rust-lang/crates.io-index" 3083 | checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197" 3084 | dependencies = [ 3085 | "utf8parse", 3086 | "vte_generate_state_changes", 3087 | ] 3088 | 3089 | [[package]] 3090 | name = "vte_generate_state_changes" 3091 | version = "0.1.2" 3092 | source = "registry+https://github.com/rust-lang/crates.io-index" 3093 | checksum = "2e369bee1b05d510a7b4ed645f5faa90619e05437111783ea5848f28d97d3c2e" 3094 | dependencies = [ 3095 | "proc-macro2", 3096 | "quote", 3097 | ] 3098 | 3099 | [[package]] 3100 | name = "vtparse" 3101 | version = "0.6.2" 3102 | source = "registry+https://github.com/rust-lang/crates.io-index" 3103 | checksum = "6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0" 3104 | dependencies = [ 3105 | "utf8parse", 3106 | ] 3107 | 3108 | [[package]] 3109 | name = "waker-fn" 3110 | version = "1.2.0" 3111 | source = "registry+https://github.com/rust-lang/crates.io-index" 3112 | checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" 3113 | 3114 | [[package]] 3115 | name = "walkdir" 3116 | version = "2.5.0" 3117 | source = "registry+https://github.com/rust-lang/crates.io-index" 3118 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 3119 | dependencies = [ 3120 | "same-file", 3121 | "winapi-util", 3122 | ] 3123 | 3124 | [[package]] 3125 | name = "wasi" 3126 | version = "0.11.0+wasi-snapshot-preview1" 3127 | source = "registry+https://github.com/rust-lang/crates.io-index" 3128 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3129 | 3130 | [[package]] 3131 | name = "wasm-bindgen" 3132 | version = "0.2.100" 3133 | source = "registry+https://github.com/rust-lang/crates.io-index" 3134 | checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 3135 | dependencies = [ 3136 | "cfg-if", 3137 | "once_cell", 3138 | "rustversion", 3139 | "wasm-bindgen-macro", 3140 | ] 3141 | 3142 | [[package]] 3143 | name = "wasm-bindgen-backend" 3144 | version = "0.2.100" 3145 | source = "registry+https://github.com/rust-lang/crates.io-index" 3146 | checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 3147 | dependencies = [ 3148 | "bumpalo", 3149 | "log", 3150 | "proc-macro2", 3151 | "quote", 3152 | "syn 2.0.96", 3153 | "wasm-bindgen-shared", 3154 | ] 3155 | 3156 | [[package]] 3157 | name = "wasm-bindgen-futures" 3158 | version = "0.4.50" 3159 | source = "registry+https://github.com/rust-lang/crates.io-index" 3160 | checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 3161 | dependencies = [ 3162 | "cfg-if", 3163 | "js-sys", 3164 | "once_cell", 3165 | "wasm-bindgen", 3166 | "web-sys", 3167 | ] 3168 | 3169 | [[package]] 3170 | name = "wasm-bindgen-macro" 3171 | version = "0.2.100" 3172 | source = "registry+https://github.com/rust-lang/crates.io-index" 3173 | checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 3174 | dependencies = [ 3175 | "quote", 3176 | "wasm-bindgen-macro-support", 3177 | ] 3178 | 3179 | [[package]] 3180 | name = "wasm-bindgen-macro-support" 3181 | version = "0.2.100" 3182 | source = "registry+https://github.com/rust-lang/crates.io-index" 3183 | checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 3184 | dependencies = [ 3185 | "proc-macro2", 3186 | "quote", 3187 | "syn 2.0.96", 3188 | "wasm-bindgen-backend", 3189 | "wasm-bindgen-shared", 3190 | ] 3191 | 3192 | [[package]] 3193 | name = "wasm-bindgen-shared" 3194 | version = "0.2.100" 3195 | source = "registry+https://github.com/rust-lang/crates.io-index" 3196 | checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 3197 | dependencies = [ 3198 | "unicode-ident", 3199 | ] 3200 | 3201 | [[package]] 3202 | name = "web-sys" 3203 | version = "0.3.77" 3204 | source = "registry+https://github.com/rust-lang/crates.io-index" 3205 | checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 3206 | dependencies = [ 3207 | "js-sys", 3208 | "wasm-bindgen", 3209 | ] 3210 | 3211 | [[package]] 3212 | name = "wezterm-bidi" 3213 | version = "0.2.3" 3214 | source = "registry+https://github.com/rust-lang/crates.io-index" 3215 | checksum = "0c0a6e355560527dd2d1cf7890652f4f09bb3433b6aadade4c9b5ed76de5f3ec" 3216 | dependencies = [ 3217 | "log", 3218 | "wezterm-dynamic", 3219 | ] 3220 | 3221 | [[package]] 3222 | name = "wezterm-blob-leases" 3223 | version = "0.1.0" 3224 | source = "registry+https://github.com/rust-lang/crates.io-index" 3225 | checksum = "8e5a5e0adf7eed68976410def849a4bdab6f6e9f6163f152de9cb89deea9e60b" 3226 | dependencies = [ 3227 | "getrandom", 3228 | "mac_address", 3229 | "once_cell", 3230 | "sha2", 3231 | "thiserror 1.0.69", 3232 | "uuid", 3233 | ] 3234 | 3235 | [[package]] 3236 | name = "wezterm-color-types" 3237 | version = "0.3.0" 3238 | source = "registry+https://github.com/rust-lang/crates.io-index" 3239 | checksum = "7de81ef35c9010270d63772bebef2f2d6d1f2d20a983d27505ac850b8c4b4296" 3240 | dependencies = [ 3241 | "csscolorparser", 3242 | "deltae", 3243 | "lazy_static", 3244 | "wezterm-dynamic", 3245 | ] 3246 | 3247 | [[package]] 3248 | name = "wezterm-dynamic" 3249 | version = "0.2.0" 3250 | source = "registry+https://github.com/rust-lang/crates.io-index" 3251 | checksum = "dfb128bacfa86734e07681fb6068e34c144698e84ee022d6e009145d1abb77b5" 3252 | dependencies = [ 3253 | "log", 3254 | "ordered-float 4.6.0", 3255 | "strsim", 3256 | "thiserror 1.0.69", 3257 | "wezterm-dynamic-derive", 3258 | ] 3259 | 3260 | [[package]] 3261 | name = "wezterm-dynamic-derive" 3262 | version = "0.1.0" 3263 | source = "registry+https://github.com/rust-lang/crates.io-index" 3264 | checksum = "0c9f5ef318442d07b3d071f9f43ea40b80992f87faee14bb4d017b6991c307f0" 3265 | dependencies = [ 3266 | "proc-macro2", 3267 | "quote", 3268 | "syn 1.0.109", 3269 | ] 3270 | 3271 | [[package]] 3272 | name = "wezterm-input-types" 3273 | version = "0.1.0" 3274 | source = "registry+https://github.com/rust-lang/crates.io-index" 3275 | checksum = "7012add459f951456ec9d6c7e6fc340b1ce15d6fc9629f8c42853412c029e57e" 3276 | dependencies = [ 3277 | "bitflags 1.3.2", 3278 | "euclid", 3279 | "lazy_static", 3280 | "wezterm-dynamic", 3281 | ] 3282 | 3283 | [[package]] 3284 | name = "which" 3285 | version = "4.4.2" 3286 | source = "registry+https://github.com/rust-lang/crates.io-index" 3287 | checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" 3288 | dependencies = [ 3289 | "either", 3290 | "home", 3291 | "once_cell", 3292 | "rustix", 3293 | ] 3294 | 3295 | [[package]] 3296 | name = "winapi" 3297 | version = "0.3.9" 3298 | source = "registry+https://github.com/rust-lang/crates.io-index" 3299 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3300 | dependencies = [ 3301 | "winapi-i686-pc-windows-gnu", 3302 | "winapi-x86_64-pc-windows-gnu", 3303 | ] 3304 | 3305 | [[package]] 3306 | name = "winapi-i686-pc-windows-gnu" 3307 | version = "0.4.0" 3308 | source = "registry+https://github.com/rust-lang/crates.io-index" 3309 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3310 | 3311 | [[package]] 3312 | name = "winapi-util" 3313 | version = "0.1.9" 3314 | source = "registry+https://github.com/rust-lang/crates.io-index" 3315 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 3316 | dependencies = [ 3317 | "windows-sys 0.59.0", 3318 | ] 3319 | 3320 | [[package]] 3321 | name = "winapi-x86_64-pc-windows-gnu" 3322 | version = "0.4.0" 3323 | source = "registry+https://github.com/rust-lang/crates.io-index" 3324 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3325 | 3326 | [[package]] 3327 | name = "windows-core" 3328 | version = "0.52.0" 3329 | source = "registry+https://github.com/rust-lang/crates.io-index" 3330 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 3331 | dependencies = [ 3332 | "windows-targets 0.52.6", 3333 | ] 3334 | 3335 | [[package]] 3336 | name = "windows-sys" 3337 | version = "0.48.0" 3338 | source = "registry+https://github.com/rust-lang/crates.io-index" 3339 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3340 | dependencies = [ 3341 | "windows-targets 0.48.5", 3342 | ] 3343 | 3344 | [[package]] 3345 | name = "windows-sys" 3346 | version = "0.52.0" 3347 | source = "registry+https://github.com/rust-lang/crates.io-index" 3348 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3349 | dependencies = [ 3350 | "windows-targets 0.52.6", 3351 | ] 3352 | 3353 | [[package]] 3354 | name = "windows-sys" 3355 | version = "0.59.0" 3356 | source = "registry+https://github.com/rust-lang/crates.io-index" 3357 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 3358 | dependencies = [ 3359 | "windows-targets 0.52.6", 3360 | ] 3361 | 3362 | [[package]] 3363 | name = "windows-targets" 3364 | version = "0.48.5" 3365 | source = "registry+https://github.com/rust-lang/crates.io-index" 3366 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3367 | dependencies = [ 3368 | "windows_aarch64_gnullvm 0.48.5", 3369 | "windows_aarch64_msvc 0.48.5", 3370 | "windows_i686_gnu 0.48.5", 3371 | "windows_i686_msvc 0.48.5", 3372 | "windows_x86_64_gnu 0.48.5", 3373 | "windows_x86_64_gnullvm 0.48.5", 3374 | "windows_x86_64_msvc 0.48.5", 3375 | ] 3376 | 3377 | [[package]] 3378 | name = "windows-targets" 3379 | version = "0.52.6" 3380 | source = "registry+https://github.com/rust-lang/crates.io-index" 3381 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 3382 | dependencies = [ 3383 | "windows_aarch64_gnullvm 0.52.6", 3384 | "windows_aarch64_msvc 0.52.6", 3385 | "windows_i686_gnu 0.52.6", 3386 | "windows_i686_gnullvm", 3387 | "windows_i686_msvc 0.52.6", 3388 | "windows_x86_64_gnu 0.52.6", 3389 | "windows_x86_64_gnullvm 0.52.6", 3390 | "windows_x86_64_msvc 0.52.6", 3391 | ] 3392 | 3393 | [[package]] 3394 | name = "windows_aarch64_gnullvm" 3395 | version = "0.48.5" 3396 | source = "registry+https://github.com/rust-lang/crates.io-index" 3397 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3398 | 3399 | [[package]] 3400 | name = "windows_aarch64_gnullvm" 3401 | version = "0.52.6" 3402 | source = "registry+https://github.com/rust-lang/crates.io-index" 3403 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 3404 | 3405 | [[package]] 3406 | name = "windows_aarch64_msvc" 3407 | version = "0.48.5" 3408 | source = "registry+https://github.com/rust-lang/crates.io-index" 3409 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3410 | 3411 | [[package]] 3412 | name = "windows_aarch64_msvc" 3413 | version = "0.52.6" 3414 | source = "registry+https://github.com/rust-lang/crates.io-index" 3415 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 3416 | 3417 | [[package]] 3418 | name = "windows_i686_gnu" 3419 | version = "0.48.5" 3420 | source = "registry+https://github.com/rust-lang/crates.io-index" 3421 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3422 | 3423 | [[package]] 3424 | name = "windows_i686_gnu" 3425 | version = "0.52.6" 3426 | source = "registry+https://github.com/rust-lang/crates.io-index" 3427 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 3428 | 3429 | [[package]] 3430 | name = "windows_i686_gnullvm" 3431 | version = "0.52.6" 3432 | source = "registry+https://github.com/rust-lang/crates.io-index" 3433 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 3434 | 3435 | [[package]] 3436 | name = "windows_i686_msvc" 3437 | version = "0.48.5" 3438 | source = "registry+https://github.com/rust-lang/crates.io-index" 3439 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3440 | 3441 | [[package]] 3442 | name = "windows_i686_msvc" 3443 | version = "0.52.6" 3444 | source = "registry+https://github.com/rust-lang/crates.io-index" 3445 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 3446 | 3447 | [[package]] 3448 | name = "windows_x86_64_gnu" 3449 | version = "0.48.5" 3450 | source = "registry+https://github.com/rust-lang/crates.io-index" 3451 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 3452 | 3453 | [[package]] 3454 | name = "windows_x86_64_gnu" 3455 | version = "0.52.6" 3456 | source = "registry+https://github.com/rust-lang/crates.io-index" 3457 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 3458 | 3459 | [[package]] 3460 | name = "windows_x86_64_gnullvm" 3461 | version = "0.48.5" 3462 | source = "registry+https://github.com/rust-lang/crates.io-index" 3463 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 3464 | 3465 | [[package]] 3466 | name = "windows_x86_64_gnullvm" 3467 | version = "0.52.6" 3468 | source = "registry+https://github.com/rust-lang/crates.io-index" 3469 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 3470 | 3471 | [[package]] 3472 | name = "windows_x86_64_msvc" 3473 | version = "0.48.5" 3474 | source = "registry+https://github.com/rust-lang/crates.io-index" 3475 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 3476 | 3477 | [[package]] 3478 | name = "windows_x86_64_msvc" 3479 | version = "0.52.6" 3480 | source = "registry+https://github.com/rust-lang/crates.io-index" 3481 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 3482 | 3483 | [[package]] 3484 | name = "write16" 3485 | version = "1.0.0" 3486 | source = "registry+https://github.com/rust-lang/crates.io-index" 3487 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 3488 | 3489 | [[package]] 3490 | name = "writeable" 3491 | version = "0.5.5" 3492 | source = "registry+https://github.com/rust-lang/crates.io-index" 3493 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 3494 | 3495 | [[package]] 3496 | name = "yoke" 3497 | version = "0.7.5" 3498 | source = "registry+https://github.com/rust-lang/crates.io-index" 3499 | checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" 3500 | dependencies = [ 3501 | "serde", 3502 | "stable_deref_trait", 3503 | "yoke-derive", 3504 | "zerofrom", 3505 | ] 3506 | 3507 | [[package]] 3508 | name = "yoke-derive" 3509 | version = "0.7.5" 3510 | source = "registry+https://github.com/rust-lang/crates.io-index" 3511 | checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" 3512 | dependencies = [ 3513 | "proc-macro2", 3514 | "quote", 3515 | "syn 2.0.96", 3516 | "synstructure", 3517 | ] 3518 | 3519 | [[package]] 3520 | name = "zellij-tile" 3521 | version = "0.41.2" 3522 | source = "registry+https://github.com/rust-lang/crates.io-index" 3523 | checksum = "00d9fa972c8b045359a1451ec55ee77906d6231592ef8cdb0a3f275972b21b96" 3524 | dependencies = [ 3525 | "clap", 3526 | "serde", 3527 | "serde_json", 3528 | "strum", 3529 | "strum_macros", 3530 | "zellij-utils", 3531 | ] 3532 | 3533 | [[package]] 3534 | name = "zellij-utils" 3535 | version = "0.41.2" 3536 | source = "registry+https://github.com/rust-lang/crates.io-index" 3537 | checksum = "0a791fae542909bccb8f8d8fcf521cfbe0af2c196526f2acbe67f4d7a5db6978" 3538 | dependencies = [ 3539 | "anyhow", 3540 | "async-channel 1.9.0", 3541 | "async-std", 3542 | "backtrace", 3543 | "bitflags 2.7.0", 3544 | "clap", 3545 | "clap_complete", 3546 | "colored", 3547 | "colorsys", 3548 | "crossbeam", 3549 | "directories", 3550 | "futures", 3551 | "humantime", 3552 | "include_dir", 3553 | "interprocess", 3554 | "isahc", 3555 | "kdl", 3556 | "lazy_static", 3557 | "libc", 3558 | "log", 3559 | "log4rs", 3560 | "miette", 3561 | "nix 0.23.2", 3562 | "notify-debouncer-full", 3563 | "once_cell", 3564 | "percent-encoding", 3565 | "prost", 3566 | "prost-build", 3567 | "regex", 3568 | "rmp-serde", 3569 | "serde", 3570 | "serde_json", 3571 | "shellexpand", 3572 | "signal-hook", 3573 | "strip-ansi-escapes", 3574 | "strum", 3575 | "strum_macros", 3576 | "tempfile", 3577 | "termwiz", 3578 | "thiserror 1.0.69", 3579 | "unicode-width", 3580 | "url", 3581 | "uuid", 3582 | "vte 0.11.1", 3583 | ] 3584 | 3585 | [[package]] 3586 | name = "zerocopy" 3587 | version = "0.7.35" 3588 | source = "registry+https://github.com/rust-lang/crates.io-index" 3589 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" 3590 | dependencies = [ 3591 | "byteorder", 3592 | "zerocopy-derive", 3593 | ] 3594 | 3595 | [[package]] 3596 | name = "zerocopy-derive" 3597 | version = "0.7.35" 3598 | source = "registry+https://github.com/rust-lang/crates.io-index" 3599 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" 3600 | dependencies = [ 3601 | "proc-macro2", 3602 | "quote", 3603 | "syn 2.0.96", 3604 | ] 3605 | 3606 | [[package]] 3607 | name = "zerofrom" 3608 | version = "0.1.5" 3609 | source = "registry+https://github.com/rust-lang/crates.io-index" 3610 | checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" 3611 | dependencies = [ 3612 | "zerofrom-derive", 3613 | ] 3614 | 3615 | [[package]] 3616 | name = "zerofrom-derive" 3617 | version = "0.1.5" 3618 | source = "registry+https://github.com/rust-lang/crates.io-index" 3619 | checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" 3620 | dependencies = [ 3621 | "proc-macro2", 3622 | "quote", 3623 | "syn 2.0.96", 3624 | "synstructure", 3625 | ] 3626 | 3627 | [[package]] 3628 | name = "zerovec" 3629 | version = "0.10.4" 3630 | source = "registry+https://github.com/rust-lang/crates.io-index" 3631 | checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" 3632 | dependencies = [ 3633 | "yoke", 3634 | "zerofrom", 3635 | "zerovec-derive", 3636 | ] 3637 | 3638 | [[package]] 3639 | name = "zerovec-derive" 3640 | version = "0.10.3" 3641 | source = "registry+https://github.com/rust-lang/crates.io-index" 3642 | checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" 3643 | dependencies = [ 3644 | "proc-macro2", 3645 | "quote", 3646 | "syn 2.0.96", 3647 | ] 3648 | 3649 | [[package]] 3650 | name = "zjpane" 3651 | version = "0.2.0" 3652 | dependencies = [ 3653 | "ansi_term", 3654 | "chrono", 3655 | "shlex", 3656 | "tracing", 3657 | "tracing-subscriber", 3658 | "zellij-tile", 3659 | ] 3660 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "zjpane" 3 | version = "0.2.0" 4 | authors = ["Christophe MASSOLIN "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | ansi_term = "0.12.1" 9 | zellij-tile = "0.41.2" 10 | chrono = "0.4.0" 11 | tracing-subscriber = "0.3.18" 12 | tracing = "0.1.40" 13 | shlex = "1.3.0" 14 | 15 | [features] 16 | tracing = [] 17 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Christophe MASSOLIN 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 | # zjpane 2 | 3 |

4 | Navigate between zellij panes easily. 5 |

6 | 7 | clippy check 8 | 9 | 10 | latest version 11 | 12 |

13 | 14 | This plugin provide a way to navigate between your panes and to configure commands to execute easily. 15 | 16 | ![Video of zjpane](./assets/capture.gif) 17 | 18 | ## Installation 19 | 20 | Download the latest release of `zjpane.wasm` from the [Release](https://github.com/FuriouZz/zjpane/releases) page. 21 | Place it somewhere accessible for zellij, for example `~/.config/zellij/plugins/zjpane.wasm`. 22 | 23 | ```kdl 24 | plugins { 25 | // You can register the plugin to an alias 26 | zjpane location="file:~/.config/zellij/plugins/zjpane.wasm" 27 | } 28 | 29 | layout { 30 | // Create a pane with zjpane alias 31 | pane { 32 | plugin location="zjpane" 33 | } 34 | } 35 | 36 | keybinds { 37 | shared_except "locked" { 38 | bind "Ctrl p" { 39 | // Bind the plugin to a shortcut 40 | LaunchOrFocusPlugin "zjpane" { 41 | floating true; 42 | command_echo_command "echo 'Hello World'" 43 | command_explorer_command "yazi" 44 | } 45 | } 46 | } 47 | } 48 | ``` 49 | 50 | ## Pipes 51 | 52 | Focus on a pane by name: 53 | 54 | ``` 55 | zellij pipe "zjpane::focus::PANE_NAME" 56 | ``` 57 | 58 | Focus on a pane by index: 59 | 60 | ``` 61 | zellij pipe "zjpane::focus_at::PANE_INDEX" 62 | ``` 63 | 64 | Focus on a pane by id (based on the `ZELLIJ_PANE_ID` environment variable): 65 | 66 | ``` 67 | zellij pipe "zjpane::focus_id::PANE_ID" 68 | ``` 69 | 70 | Execute a command by name: 71 | 72 | ``` 73 | zellij pipe "zjpane::execute::COMMAND_NAME" 74 | ``` 75 | 76 | Execute a pane at index: 77 | 78 | ``` 79 | zellij pipe "zjpane::execute_at::COMMAND_INDEX" 80 | ``` 81 | 82 | ## Inspiration 83 | 84 | * [zjstatus](https://github.com/dj95/zjstatus) 85 | 86 | ## Licence 87 | 88 | MIT License 89 | 90 | Copyright (c) 2024 Christophe MASSOLIN 91 | 92 | Permission is hereby granted, free of charge, to any person obtaining a copy 93 | of this software and associated documentation files (the "Software"), to deal 94 | in the Software without restriction, including without limitation the rights 95 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 96 | copies of the Software, and to permit persons to whom the Software is 97 | furnished to do so, subject to the following conditions: 98 | 99 | The above copyright notice and this permission notice shall be included in all 100 | copies or substantial portions of the Software. 101 | 102 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 103 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 104 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 105 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 106 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 107 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 108 | SOFTWARE. 109 | -------------------------------------------------------------------------------- /assets/capture.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuriouZz/zjpane/3f6fe00110356a2b64f64bb3c0da158c065eb882/assets/capture.gif -------------------------------------------------------------------------------- /cliff.toml: -------------------------------------------------------------------------------- 1 | 2 | # git-cliff ~ default configuration file 3 | # https://git-cliff.org/docs/configuration 4 | # 5 | # Lines starting with "#" are comments. 6 | # Configuration options are organized into tables and keys. 7 | # See documentation for more information on available options. 8 | 9 | [changelog] 10 | # changelog header 11 | header = """ 12 | # Changelog\n 13 | All notable changes to this project will be documented in this file.\n 14 | """ 15 | # template for the changelog body 16 | # https://keats.github.io/tera/docs/#introduction 17 | body = """ 18 | {% if version %}\ 19 | ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} 20 | {% else %}\ 21 | ## [unreleased] 22 | {% endif %}\ 23 | {% for group, commits in commits | group_by(attribute="group") %} 24 | ### {{ group | striptags | trim | upper_first }} 25 | {% for commit in commits %} 26 | - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ 27 | {% if commit.breaking %}[**breaking**] {% endif %}\ 28 | {{ commit.message | upper_first }}\ 29 | {% endfor %} 30 | {% endfor %}\n 31 | """ 32 | # template for the changelog footer 33 | footer = """ 34 | 35 | """ 36 | # remove the leading and trailing s 37 | trim = true 38 | # postprocessors 39 | postprocessors = [ 40 | # { pattern = '', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL 41 | ] 42 | 43 | [git] 44 | # parse the commits based on https://www.conventionalcommits.org 45 | conventional_commits = true 46 | # filter out the commits that are not conventional 47 | filter_unconventional = true 48 | # process each line of a commit as an individual commit 49 | split_commits = false 50 | # regex for preprocessing the commit messages 51 | commit_preprocessors = [ 52 | # Replace issue numbers 53 | #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/issues/${2}))"}, 54 | # Check spelling of the commit with https://github.com/crate-ci/typos 55 | # If the spelling is incorrect, it will be automatically fixed. 56 | #{ pattern = '.*', replace_command = 'typos --write-changes -' }, 57 | ] 58 | # regex for parsing and grouping commits 59 | commit_parsers = [ 60 | { message = "^feat", group = "🚀 Features" }, 61 | { message = "^fix", group = "🐛 Bug Fixes" }, 62 | { message = "^doc", group = "📚 Documentation" }, 63 | { message = "^perf", group = "⚡ Performance" }, 64 | { message = "^refactor", group = "🚜 Refactor" }, 65 | { message = "^style", group = "🎨 Styling" }, 66 | { message = "^test", group = "🧪 Testing" }, 67 | { message = "^chore\\(release\\): prepare for", skip = true }, 68 | { message = "^chore\\(deps.*\\)", skip = true }, 69 | { message = "^chore\\(pr\\)", skip = true }, 70 | { message = "^chore\\(pull\\)", skip = true }, 71 | { message = "^chore|^ci", group = "⚙️ Miscellaneous Tasks" }, 72 | { body = ".*security", group = "🛡️ Security" }, 73 | { message = "^revert", group = "◀️ Revert" }, 74 | ] 75 | # protect breaking changes from being skipped due to matching a skipping commit_parser 76 | protect_breaking_commits = false 77 | # filter out the commits that are not matched by commit parsers 78 | filter_commits = false 79 | # regex for matching git tags 80 | # tag_pattern = "v[0-9].*" 81 | # regex for skipping tags 82 | # skip_tags = "" 83 | # regex for ignoring tags 84 | # ignore_tags = "" 85 | # sort the tags topologically 86 | topo_order = false 87 | # sort the commits inside sections by oldest/newest order 88 | sort_commits = "oldest" 89 | # limit the number of commits included in the changelog. 90 | # limit_commits = 42 91 | -------------------------------------------------------------------------------- /plugin-dev-workspace.kdl: -------------------------------------------------------------------------------- 1 | layout { 2 | tab name="editor" focus=true split_direction="horizontal" { 3 | pane split_direction="vertical" { 4 | pane name="editor" focus=true size="70%" { 5 | edit "src/main.rs" 6 | } 7 | 8 | pane split_direction="horizontal" { 9 | pane name="COMPILE AND RELOAD" { 10 | command "bash" 11 | args "-c" "cargo build --features tracing && zellij action start-or-reload-plugin zjpane" 12 | } 13 | 14 | pane { 15 | command "bash" 16 | args "-c" "tail -f .zjpane.log" 17 | } 18 | } 19 | } 20 | } 21 | 22 | default_tab_template { 23 | children 24 | pane size=1 borderless=true { 25 | plugin location="zjstatus" 26 | } 27 | } 28 | } 29 | 30 | plugins { 31 | zjpane location="file:target/wasm32-wasip1/debug/zjpane.wasm" 32 | } 33 | 34 | keybinds { 35 | shared_except "locked" { 36 | bind "Ctrl p" { 37 | LaunchOrFocusPlugin "zjpane" { 38 | floating true; 39 | command_echo_command "bash -c 'echo \"Hello World\"'" 40 | command_yazi_command "bash -c '~/.config/yazi/dev/yazi'" 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::{collections::BTreeMap, path::Path}; 2 | use zellij_tile::prelude::*; 3 | 4 | mod user_command; 5 | use user_command::UserCommand; 6 | 7 | #[derive(Debug)] 8 | enum Mode { 9 | Pane, 10 | Command, 11 | } 12 | 13 | impl Default for Mode { 14 | fn default() -> Self { 15 | Self::Pane 16 | } 17 | } 18 | 19 | #[derive(Default)] 20 | struct State { 21 | active_tab: usize, 22 | panes: Vec, 23 | position: usize, 24 | has_permission_granted: bool, 25 | commands: Vec, 26 | mode: Mode, 27 | } 28 | 29 | register_plugin!(State); 30 | 31 | impl State { 32 | fn parse_config(&mut self, user_config: &BTreeMap) { 33 | let keys = user_config.keys().filter(|key| key.starts_with("command_")); 34 | 35 | for key in keys { 36 | let name = key.split('_').nth(1); 37 | if name.is_none() { 38 | continue; 39 | } 40 | let name = name.unwrap(); 41 | 42 | let command = self.commands.iter_mut().find_map(|entry| { 43 | if name == entry.name { 44 | return Some(entry); 45 | } 46 | None 47 | }); 48 | 49 | let command = if let Some(c) = command { 50 | c 51 | } else { 52 | let index = self.commands.len(); 53 | self.commands.push(UserCommand { 54 | name: name.to_string(), 55 | args: Vec::new(), 56 | }); 57 | self.commands.get_mut(index).unwrap() 58 | }; 59 | 60 | if key.ends_with("_command") { 61 | command.set_command(user_config.get(key).unwrap()); 62 | } 63 | } 64 | } 65 | 66 | fn handle_event(&mut self, event: &Event) -> bool { 67 | let mut should_render = false; 68 | match event { 69 | Event::TabUpdate(tabs) => { 70 | tracing::Span::current().record("event_type", "Event::TabUpdate"); 71 | // tracing::debug!(tabs = ?tabs); 72 | 73 | for tab in tabs { 74 | if tab.active { 75 | self.active_tab = tab.position; 76 | break; 77 | } 78 | } 79 | } 80 | Event::PaneUpdate(infos) => { 81 | tracing::Span::current().record("event_type", "Event::PaneUpdate"); 82 | // tracing::debug!(panes = ?panes); 83 | 84 | self.panes.clear(); 85 | self.position = 0; 86 | for pane in infos.panes.iter() { 87 | if *pane.0 != self.active_tab { 88 | continue; 89 | } 90 | for info in pane.1 { 91 | if !info.is_plugin { 92 | self.panes.push(info.clone()); 93 | } 94 | } 95 | } 96 | 97 | should_render = true; 98 | } 99 | Event::Key(key) if key.bare_key == BareKey::Esc => { 100 | self.position = 0; 101 | hide_self(); 102 | } 103 | _ => (), 104 | } 105 | should_render 106 | } 107 | 108 | fn handle_command_event(&mut self, event: &Event) -> bool { 109 | let mut should_render = false; 110 | if let Event::Key(key) = event { 111 | tracing::Span::current().record("event_type", "Event::Key"); 112 | tracing::debug!(key = ?key); 113 | 114 | match key.bare_key { 115 | BareKey::Up => { 116 | if self.position > 0 { 117 | self.position -= 1; 118 | } 119 | should_render = true; 120 | } 121 | BareKey::Down => { 122 | if self.position < self.commands.len() - 1 { 123 | self.position += 1; 124 | } 125 | should_render = true; 126 | } 127 | BareKey::Left => { 128 | self.position = 0; 129 | self.mode = Mode::Pane; 130 | should_render = true 131 | } 132 | BareKey::Enter => { 133 | if let Some(command) = self.commands.get(self.position) { 134 | self.position = 0; 135 | hide_self(); 136 | 137 | let args = command.args.clone(); 138 | open_command_pane_floating( 139 | CommandToRun::new_with_args(Path::new(&args[0]), args[1..].to_vec()), 140 | None, 141 | BTreeMap::new(), 142 | ); 143 | // open_command_pane_in_place(CommandToRun::new_with_args( 144 | // Path::new(&args[0]), 145 | // args[1..].to_vec(), 146 | // )); 147 | } 148 | } 149 | _ => (), 150 | } 151 | } 152 | should_render 153 | } 154 | 155 | fn handle_pane_event(&mut self, event: &Event) -> bool { 156 | let mut should_render = false; 157 | if let Event::Key(key) = event { 158 | tracing::Span::current().record("event_type", "Event::Key"); 159 | tracing::debug!(key = ?key); 160 | 161 | match key.bare_key { 162 | BareKey::Up => { 163 | if self.position > 0 { 164 | self.position -= 1; 165 | } 166 | should_render = true; 167 | } 168 | BareKey::Right => { 169 | self.position = 0; 170 | self.mode = Mode::Command; 171 | should_render = true 172 | } 173 | BareKey::Down => { 174 | if self.position < self.panes.len() - 1 { 175 | self.position += 1; 176 | } 177 | should_render = true; 178 | } 179 | BareKey::Enter => { 180 | if let Some(pane) = self.panes.get(self.position) { 181 | self.position = 0; 182 | hide_self(); 183 | 184 | focus_terminal_pane(pane.id, false); 185 | } 186 | } 187 | _ => (), 188 | } 189 | } 190 | should_render 191 | } 192 | 193 | fn parse_pipe(&mut self, input: &str) -> bool { 194 | let should_render = false; 195 | 196 | let parts = input.split("::").collect::>(); 197 | 198 | if parts.len() < 3 { 199 | return false; 200 | } 201 | 202 | if parts[0] != "zjpane" { 203 | return false; 204 | } 205 | 206 | let action = parts[1]; 207 | let payload = parts[2]; 208 | tracing::debug!(action = ?action); 209 | tracing::debug!(payload = ?payload); 210 | 211 | match action { 212 | "focus_at" => { 213 | if let Ok(Some(pane)) = payload.parse::().map(|index| self.panes.get(index)) 214 | { 215 | focus_terminal_pane(pane.id, false); 216 | } 217 | } 218 | "focus_id" => { 219 | if let Ok(pane_id) = payload.parse::() { 220 | if let Some(pane) = self.panes.iter().find(|p| p.id == pane_id) { 221 | focus_terminal_pane(pane.id, false); 222 | } 223 | } 224 | } 225 | "focus" => { 226 | let pane = self.panes.iter_mut().find(|pane| pane.title.eq(payload)); 227 | if let Some(pane) = pane { 228 | focus_terminal_pane(pane.id, false); 229 | } 230 | } 231 | "execute_at" => { 232 | if let Ok(Some(command)) = payload 233 | .parse::() 234 | .map(|index| self.commands.get(index)) 235 | { 236 | let args = command.args.clone(); 237 | open_command_pane_floating( 238 | CommandToRun::new_with_args(Path::new(&args[0]), args[1..].to_vec()), 239 | None, 240 | BTreeMap::new(), 241 | ); 242 | } 243 | } 244 | "execute" => { 245 | let command = self 246 | .commands 247 | .iter_mut() 248 | .find(|command| command.name.eq(payload)); 249 | if let Some(command) = command { 250 | let args = command.args.clone(); 251 | open_command_pane_floating( 252 | CommandToRun::new_with_args(Path::new(&args[0]), args[1..].to_vec()), 253 | None, 254 | BTreeMap::new(), 255 | ); 256 | } 257 | } 258 | _ => (), 259 | } 260 | 261 | should_render 262 | } 263 | } 264 | 265 | #[cfg(feature = "tracing")] 266 | fn init_tracing() { 267 | use std::{fs::File, sync::Arc}; 268 | use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; 269 | 270 | let file = File::create(".zjpane.log"); 271 | let file = match file { 272 | Ok(file) => file, 273 | Err(error) => panic!("Error: {:?}", error), 274 | }; 275 | let debug_log = tracing_subscriber::fmt::layer().with_writer(Arc::new(file)); 276 | 277 | tracing_subscriber::registry().with(debug_log).init(); 278 | 279 | tracing::info!("tracing initialized"); 280 | } 281 | 282 | impl ZellijPlugin for State { 283 | fn load(&mut self, configuration: BTreeMap) { 284 | #[cfg(feature = "tracing")] 285 | init_tracing(); 286 | 287 | self.parse_config(&configuration); 288 | 289 | request_permission(&[ 290 | PermissionType::ReadApplicationState, 291 | PermissionType::ChangeApplicationState, 292 | PermissionType::OpenTerminalsOrPlugins, 293 | PermissionType::RunCommands, 294 | ]); 295 | 296 | subscribe(&[ 297 | EventType::TabUpdate, 298 | EventType::PaneUpdate, 299 | EventType::Key, 300 | EventType::PermissionRequestResult, 301 | EventType::RunCommandResult, 302 | ]); 303 | } 304 | 305 | #[tracing::instrument(skip_all, fields(event_type))] 306 | fn update(&mut self, event: Event) -> bool { 307 | if let Event::PermissionRequestResult(status) = event { 308 | tracing::Span::current().record("event_type", "Event::PermissionRequestResult"); 309 | tracing::debug!(status = ?status); 310 | 311 | match status { 312 | PermissionStatus::Granted => self.has_permission_granted = true, 313 | PermissionStatus::Denied => self.has_permission_granted = false, 314 | } 315 | } 316 | 317 | if !self.has_permission_granted { 318 | return false; 319 | } 320 | 321 | let should_render = self.handle_event(&event); 322 | let should_render2 = match self.mode { 323 | Mode::Pane => self.handle_pane_event(&event), 324 | Mode::Command => self.handle_command_event(&event), 325 | }; 326 | 327 | should_render || should_render2 328 | } 329 | 330 | fn pipe(&mut self, pipe_message: PipeMessage) -> bool { 331 | let mut should_render = false; 332 | 333 | match pipe_message.source { 334 | PipeSource::Cli(_) | PipeSource::Plugin(_) | PipeSource::Keybind => { 335 | if let Some(payload) = pipe_message.payload { 336 | should_render = self.parse_pipe(&payload); 337 | } 338 | } 339 | } 340 | 341 | should_render 342 | } 343 | 344 | fn render(&mut self, _rows: usize, _cols: usize) { 345 | let (pane_mode_selected, command_mode_selected) = match self.mode { 346 | Mode::Pane => ("*", " "), 347 | Mode::Command => (" ", "*"), 348 | }; 349 | println!( 350 | "[{}] Pane Mode / [{}] Command Mode", 351 | pane_mode_selected, command_mode_selected 352 | ); 353 | 354 | match self.mode { 355 | Mode::Pane => { 356 | for (i, pane) in self.panes.iter().enumerate() { 357 | let selected = if i == self.position { "*" } else { " " }; 358 | println!("{} #{} {}", selected, pane.id, pane.title); 359 | } 360 | } 361 | Mode::Command => { 362 | for (i, command) in self.commands.iter().enumerate() { 363 | let selected = if i == self.position { "*" } else { " " }; 364 | println!("{} #{} {}", selected, i, command.name); 365 | } 366 | } 367 | } 368 | } 369 | } 370 | -------------------------------------------------------------------------------- /src/user_command.rs: -------------------------------------------------------------------------------- 1 | use shlex::Shlex; 2 | 3 | pub struct UserCommand { 4 | pub name: String, 5 | pub args: Vec, 6 | } 7 | 8 | impl UserCommand { 9 | pub fn set_command(&mut self, command: &str) { 10 | let lex = Shlex::new(command); 11 | self.args = lex.collect(); 12 | } 13 | } 14 | --------------------------------------------------------------------------------