My personal-knowledge-system, with deeply integrated task tracking and long term goal planning capabilities.

feat: panic_handler #3

closed opened by suri.codes targeting main from tui
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:nxdjlcnomw44wvso6myag2e6/sh.tangled.repo.pull/3mgl5nipb5s22
+1093 -4
Diff #0
+1
.harper-dictionary.txt
··· 1 1 Multi-Device 2 2 PKM 3 + eyre
+1006
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.25.1" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" 10 + dependencies = [ 11 + "gimli", 12 + ] 13 + 14 + [[package]] 15 + name = "adler2" 16 + version = "2.0.1" 17 + source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 19 + 20 + [[package]] 21 + name = "anstream" 22 + version = "0.6.21" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" 25 + dependencies = [ 26 + "anstyle", 27 + "anstyle-parse", 28 + "anstyle-query", 29 + "anstyle-wincon", 30 + "colorchoice", 31 + "is_terminal_polyfill", 32 + "utf8parse", 33 + ] 34 + 35 + [[package]] 36 + name = "anstyle" 37 + version = "1.0.13" 38 + source = "registry+https://github.com/rust-lang/crates.io-index" 39 + checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" 40 + 41 + [[package]] 42 + name = "anstyle-parse" 43 + version = "0.2.7" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" 46 + dependencies = [ 47 + "utf8parse", 48 + ] 49 + 50 + [[package]] 51 + name = "anstyle-query" 52 + version = "1.1.5" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" 55 + dependencies = [ 56 + "windows-sys 0.61.2", 57 + ] 58 + 59 + [[package]] 60 + name = "anstyle-wincon" 61 + version = "3.0.11" 62 + source = "registry+https://github.com/rust-lang/crates.io-index" 63 + checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" 64 + dependencies = [ 65 + "anstyle", 66 + "once_cell_polyfill", 67 + "windows-sys 0.61.2", 68 + ] 69 + 70 + [[package]] 71 + name = "anyhow" 72 + version = "1.0.102" 73 + source = "registry+https://github.com/rust-lang/crates.io-index" 74 + checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" 75 + 76 + [[package]] 77 + name = "backtrace" 78 + version = "0.3.76" 79 + source = "registry+https://github.com/rust-lang/crates.io-index" 80 + checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" 81 + dependencies = [ 82 + "addr2line", 83 + "cfg-if", 84 + "libc", 85 + "miniz_oxide", 86 + "object", 87 + "rustc-demangle", 88 + "windows-link 0.2.1", 89 + ] 90 + 91 + [[package]] 92 + name = "better-panic" 93 + version = "0.3.0" 94 + source = "registry+https://github.com/rust-lang/crates.io-index" 95 + checksum = "6fa9e1d11a268684cbd90ed36370d7577afb6c62d912ddff5c15fc34343e5036" 96 + dependencies = [ 97 + "backtrace", 98 + "console", 99 + ] 100 + 101 + [[package]] 102 + name = "bitflags" 103 + version = "2.11.0" 104 + source = "registry+https://github.com/rust-lang/crates.io-index" 105 + checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" 106 + 107 + [[package]] 108 + name = "cfg-if" 109 + version = "1.0.4" 110 + source = "registry+https://github.com/rust-lang/crates.io-index" 111 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 112 + 113 + [[package]] 114 + name = "color-eyre" 115 + version = "0.6.5" 116 + source = "registry+https://github.com/rust-lang/crates.io-index" 117 + checksum = "e5920befb47832a6d61ee3a3a846565cfa39b331331e68a3b1d1116630f2f26d" 118 + dependencies = [ 119 + "backtrace", 120 + "color-spantrace", 121 + "eyre", 122 + "indenter", 123 + "once_cell", 124 + "owo-colors", 125 + "tracing-error", 126 + ] 127 + 128 + [[package]] 129 + name = "color-spantrace" 130 + version = "0.3.0" 131 + source = "registry+https://github.com/rust-lang/crates.io-index" 132 + checksum = "b8b88ea9df13354b55bc7234ebcce36e6ef896aca2e42a15de9e10edce01b427" 133 + dependencies = [ 134 + "once_cell", 135 + "owo-colors", 136 + "tracing-core", 137 + "tracing-error", 138 + ] 139 + 140 + [[package]] 141 + name = "colorchoice" 142 + version = "1.0.4" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 145 + 146 + [[package]] 147 + name = "console" 148 + version = "0.15.11" 149 + source = "registry+https://github.com/rust-lang/crates.io-index" 150 + checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" 151 + dependencies = [ 152 + "encode_unicode", 153 + "libc", 154 + "once_cell", 155 + "windows-sys 0.59.0", 156 + ] 157 + 158 + [[package]] 159 + name = "encode_unicode" 160 + version = "1.0.0" 161 + source = "registry+https://github.com/rust-lang/crates.io-index" 162 + checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" 163 + 164 + [[package]] 165 + name = "equivalent" 166 + version = "1.0.2" 167 + source = "registry+https://github.com/rust-lang/crates.io-index" 168 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 169 + 170 + [[package]] 171 + name = "eyre" 172 + version = "0.6.12" 173 + source = "registry+https://github.com/rust-lang/crates.io-index" 174 + checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" 175 + dependencies = [ 176 + "indenter", 177 + "once_cell", 178 + ] 179 + 180 + [[package]] 181 + name = "filaments" 182 + version = "0.1.0" 183 + dependencies = [ 184 + "better-panic", 185 + "color-eyre", 186 + "human-panic", 187 + "tracing", 188 + ] 189 + 190 + [[package]] 191 + name = "foldhash" 192 + version = "0.1.5" 193 + source = "registry+https://github.com/rust-lang/crates.io-index" 194 + checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 195 + 196 + [[package]] 197 + name = "getrandom" 198 + version = "0.4.2" 199 + source = "registry+https://github.com/rust-lang/crates.io-index" 200 + checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" 201 + dependencies = [ 202 + "cfg-if", 203 + "libc", 204 + "r-efi", 205 + "wasip2", 206 + "wasip3", 207 + ] 208 + 209 + [[package]] 210 + name = "gimli" 211 + version = "0.32.3" 212 + source = "registry+https://github.com/rust-lang/crates.io-index" 213 + checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" 214 + 215 + [[package]] 216 + name = "hashbrown" 217 + version = "0.15.5" 218 + source = "registry+https://github.com/rust-lang/crates.io-index" 219 + checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 220 + dependencies = [ 221 + "foldhash", 222 + ] 223 + 224 + [[package]] 225 + name = "hashbrown" 226 + version = "0.16.1" 227 + source = "registry+https://github.com/rust-lang/crates.io-index" 228 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 229 + 230 + [[package]] 231 + name = "heck" 232 + version = "0.5.0" 233 + source = "registry+https://github.com/rust-lang/crates.io-index" 234 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 235 + 236 + [[package]] 237 + name = "human-panic" 238 + version = "2.0.6" 239 + source = "registry+https://github.com/rust-lang/crates.io-index" 240 + checksum = "075e8747af11abcff07d55d98297c9c6c70eb5d6365b25e7b12f02e484935191" 241 + dependencies = [ 242 + "anstream", 243 + "anstyle", 244 + "backtrace", 245 + "serde", 246 + "serde_derive", 247 + "sysinfo", 248 + "toml", 249 + "uuid", 250 + ] 251 + 252 + [[package]] 253 + name = "id-arena" 254 + version = "2.3.0" 255 + source = "registry+https://github.com/rust-lang/crates.io-index" 256 + checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" 257 + 258 + [[package]] 259 + name = "indenter" 260 + version = "0.3.4" 261 + source = "registry+https://github.com/rust-lang/crates.io-index" 262 + checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" 263 + 264 + [[package]] 265 + name = "indexmap" 266 + version = "2.13.0" 267 + source = "registry+https://github.com/rust-lang/crates.io-index" 268 + checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" 269 + dependencies = [ 270 + "equivalent", 271 + "hashbrown 0.16.1", 272 + "serde", 273 + "serde_core", 274 + ] 275 + 276 + [[package]] 277 + name = "is_terminal_polyfill" 278 + version = "1.70.2" 279 + source = "registry+https://github.com/rust-lang/crates.io-index" 280 + checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" 281 + 282 + [[package]] 283 + name = "itoa" 284 + version = "1.0.17" 285 + source = "registry+https://github.com/rust-lang/crates.io-index" 286 + checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" 287 + 288 + [[package]] 289 + name = "lazy_static" 290 + version = "1.5.0" 291 + source = "registry+https://github.com/rust-lang/crates.io-index" 292 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 293 + 294 + [[package]] 295 + name = "leb128fmt" 296 + version = "0.1.0" 297 + source = "registry+https://github.com/rust-lang/crates.io-index" 298 + checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" 299 + 300 + [[package]] 301 + name = "libc" 302 + version = "0.2.182" 303 + source = "registry+https://github.com/rust-lang/crates.io-index" 304 + checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" 305 + 306 + [[package]] 307 + name = "log" 308 + version = "0.4.29" 309 + source = "registry+https://github.com/rust-lang/crates.io-index" 310 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 311 + 312 + [[package]] 313 + name = "memchr" 314 + version = "2.8.0" 315 + source = "registry+https://github.com/rust-lang/crates.io-index" 316 + checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" 317 + 318 + [[package]] 319 + name = "miniz_oxide" 320 + version = "0.8.9" 321 + source = "registry+https://github.com/rust-lang/crates.io-index" 322 + checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 323 + dependencies = [ 324 + "adler2", 325 + ] 326 + 327 + [[package]] 328 + name = "ntapi" 329 + version = "0.4.3" 330 + source = "registry+https://github.com/rust-lang/crates.io-index" 331 + checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" 332 + dependencies = [ 333 + "winapi", 334 + ] 335 + 336 + [[package]] 337 + name = "objc2-core-foundation" 338 + version = "0.3.2" 339 + source = "registry+https://github.com/rust-lang/crates.io-index" 340 + checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" 341 + dependencies = [ 342 + "bitflags", 343 + ] 344 + 345 + [[package]] 346 + name = "objc2-io-kit" 347 + version = "0.3.2" 348 + source = "registry+https://github.com/rust-lang/crates.io-index" 349 + checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" 350 + dependencies = [ 351 + "libc", 352 + "objc2-core-foundation", 353 + ] 354 + 355 + [[package]] 356 + name = "object" 357 + version = "0.37.3" 358 + source = "registry+https://github.com/rust-lang/crates.io-index" 359 + checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" 360 + dependencies = [ 361 + "memchr", 362 + ] 363 + 364 + [[package]] 365 + name = "once_cell" 366 + version = "1.21.3" 367 + source = "registry+https://github.com/rust-lang/crates.io-index" 368 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 369 + 370 + [[package]] 371 + name = "once_cell_polyfill" 372 + version = "1.70.2" 373 + source = "registry+https://github.com/rust-lang/crates.io-index" 374 + checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" 375 + 376 + [[package]] 377 + name = "owo-colors" 378 + version = "4.3.0" 379 + source = "registry+https://github.com/rust-lang/crates.io-index" 380 + checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" 381 + 382 + [[package]] 383 + name = "pin-project-lite" 384 + version = "0.2.17" 385 + source = "registry+https://github.com/rust-lang/crates.io-index" 386 + checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" 387 + 388 + [[package]] 389 + name = "prettyplease" 390 + version = "0.2.37" 391 + source = "registry+https://github.com/rust-lang/crates.io-index" 392 + checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 393 + dependencies = [ 394 + "proc-macro2", 395 + "syn", 396 + ] 397 + 398 + [[package]] 399 + name = "proc-macro2" 400 + version = "1.0.106" 401 + source = "registry+https://github.com/rust-lang/crates.io-index" 402 + checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" 403 + dependencies = [ 404 + "unicode-ident", 405 + ] 406 + 407 + [[package]] 408 + name = "quote" 409 + version = "1.0.45" 410 + source = "registry+https://github.com/rust-lang/crates.io-index" 411 + checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" 412 + dependencies = [ 413 + "proc-macro2", 414 + ] 415 + 416 + [[package]] 417 + name = "r-efi" 418 + version = "6.0.0" 419 + source = "registry+https://github.com/rust-lang/crates.io-index" 420 + checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" 421 + 422 + [[package]] 423 + name = "rustc-demangle" 424 + version = "0.1.27" 425 + source = "registry+https://github.com/rust-lang/crates.io-index" 426 + checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" 427 + 428 + [[package]] 429 + name = "semver" 430 + version = "1.0.27" 431 + source = "registry+https://github.com/rust-lang/crates.io-index" 432 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 433 + 434 + [[package]] 435 + name = "serde" 436 + version = "1.0.228" 437 + source = "registry+https://github.com/rust-lang/crates.io-index" 438 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 439 + dependencies = [ 440 + "serde_core", 441 + ] 442 + 443 + [[package]] 444 + name = "serde_core" 445 + version = "1.0.228" 446 + source = "registry+https://github.com/rust-lang/crates.io-index" 447 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 448 + dependencies = [ 449 + "serde_derive", 450 + ] 451 + 452 + [[package]] 453 + name = "serde_derive" 454 + version = "1.0.228" 455 + source = "registry+https://github.com/rust-lang/crates.io-index" 456 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 457 + dependencies = [ 458 + "proc-macro2", 459 + "quote", 460 + "syn", 461 + ] 462 + 463 + [[package]] 464 + name = "serde_json" 465 + version = "1.0.149" 466 + source = "registry+https://github.com/rust-lang/crates.io-index" 467 + checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" 468 + dependencies = [ 469 + "itoa", 470 + "memchr", 471 + "serde", 472 + "serde_core", 473 + "zmij", 474 + ] 475 + 476 + [[package]] 477 + name = "serde_spanned" 478 + version = "1.0.4" 479 + source = "registry+https://github.com/rust-lang/crates.io-index" 480 + checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" 481 + dependencies = [ 482 + "serde_core", 483 + ] 484 + 485 + [[package]] 486 + name = "sharded-slab" 487 + version = "0.1.7" 488 + source = "registry+https://github.com/rust-lang/crates.io-index" 489 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 490 + dependencies = [ 491 + "lazy_static", 492 + ] 493 + 494 + [[package]] 495 + name = "syn" 496 + version = "2.0.117" 497 + source = "registry+https://github.com/rust-lang/crates.io-index" 498 + checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" 499 + dependencies = [ 500 + "proc-macro2", 501 + "quote", 502 + "unicode-ident", 503 + ] 504 + 505 + [[package]] 506 + name = "sysinfo" 507 + version = "0.37.2" 508 + source = "registry+https://github.com/rust-lang/crates.io-index" 509 + checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" 510 + dependencies = [ 511 + "libc", 512 + "memchr", 513 + "ntapi", 514 + "objc2-core-foundation", 515 + "objc2-io-kit", 516 + "windows", 517 + ] 518 + 519 + [[package]] 520 + name = "thread_local" 521 + version = "1.1.9" 522 + source = "registry+https://github.com/rust-lang/crates.io-index" 523 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 524 + dependencies = [ 525 + "cfg-if", 526 + ] 527 + 528 + [[package]] 529 + name = "toml" 530 + version = "0.9.12+spec-1.1.0" 531 + source = "registry+https://github.com/rust-lang/crates.io-index" 532 + checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" 533 + dependencies = [ 534 + "serde_core", 535 + "serde_spanned", 536 + "toml_datetime", 537 + "toml_writer", 538 + ] 539 + 540 + [[package]] 541 + name = "toml_datetime" 542 + version = "0.7.5+spec-1.1.0" 543 + source = "registry+https://github.com/rust-lang/crates.io-index" 544 + checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" 545 + dependencies = [ 546 + "serde_core", 547 + ] 548 + 549 + [[package]] 550 + name = "toml_writer" 551 + version = "1.0.6+spec-1.1.0" 552 + source = "registry+https://github.com/rust-lang/crates.io-index" 553 + checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" 554 + 555 + [[package]] 556 + name = "tracing" 557 + version = "0.1.44" 558 + source = "registry+https://github.com/rust-lang/crates.io-index" 559 + checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" 560 + dependencies = [ 561 + "pin-project-lite", 562 + "tracing-attributes", 563 + "tracing-core", 564 + ] 565 + 566 + [[package]] 567 + name = "tracing-attributes" 568 + version = "0.1.31" 569 + source = "registry+https://github.com/rust-lang/crates.io-index" 570 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 571 + dependencies = [ 572 + "proc-macro2", 573 + "quote", 574 + "syn", 575 + ] 576 + 577 + [[package]] 578 + name = "tracing-core" 579 + version = "0.1.36" 580 + source = "registry+https://github.com/rust-lang/crates.io-index" 581 + checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" 582 + dependencies = [ 583 + "once_cell", 584 + "valuable", 585 + ] 586 + 587 + [[package]] 588 + name = "tracing-error" 589 + version = "0.2.1" 590 + source = "registry+https://github.com/rust-lang/crates.io-index" 591 + checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" 592 + dependencies = [ 593 + "tracing", 594 + "tracing-subscriber", 595 + ] 596 + 597 + [[package]] 598 + name = "tracing-subscriber" 599 + version = "0.3.22" 600 + source = "registry+https://github.com/rust-lang/crates.io-index" 601 + checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" 602 + dependencies = [ 603 + "sharded-slab", 604 + "thread_local", 605 + "tracing-core", 606 + ] 607 + 608 + [[package]] 609 + name = "unicode-ident" 610 + version = "1.0.24" 611 + source = "registry+https://github.com/rust-lang/crates.io-index" 612 + checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" 613 + 614 + [[package]] 615 + name = "unicode-xid" 616 + version = "0.2.6" 617 + source = "registry+https://github.com/rust-lang/crates.io-index" 618 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 619 + 620 + [[package]] 621 + name = "utf8parse" 622 + version = "0.2.2" 623 + source = "registry+https://github.com/rust-lang/crates.io-index" 624 + checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 625 + 626 + [[package]] 627 + name = "uuid" 628 + version = "1.21.0" 629 + source = "registry+https://github.com/rust-lang/crates.io-index" 630 + checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" 631 + dependencies = [ 632 + "getrandom", 633 + ] 634 + 635 + [[package]] 636 + name = "valuable" 637 + version = "0.1.1" 638 + source = "registry+https://github.com/rust-lang/crates.io-index" 639 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 640 + 641 + [[package]] 642 + name = "wasip2" 643 + version = "1.0.2+wasi-0.2.9" 644 + source = "registry+https://github.com/rust-lang/crates.io-index" 645 + checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" 646 + dependencies = [ 647 + "wit-bindgen", 648 + ] 649 + 650 + [[package]] 651 + name = "wasip3" 652 + version = "0.4.0+wasi-0.3.0-rc-2026-01-06" 653 + source = "registry+https://github.com/rust-lang/crates.io-index" 654 + checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" 655 + dependencies = [ 656 + "wit-bindgen", 657 + ] 658 + 659 + [[package]] 660 + name = "wasm-encoder" 661 + version = "0.244.0" 662 + source = "registry+https://github.com/rust-lang/crates.io-index" 663 + checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" 664 + dependencies = [ 665 + "leb128fmt", 666 + "wasmparser", 667 + ] 668 + 669 + [[package]] 670 + name = "wasm-metadata" 671 + version = "0.244.0" 672 + source = "registry+https://github.com/rust-lang/crates.io-index" 673 + checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" 674 + dependencies = [ 675 + "anyhow", 676 + "indexmap", 677 + "wasm-encoder", 678 + "wasmparser", 679 + ] 680 + 681 + [[package]] 682 + name = "wasmparser" 683 + version = "0.244.0" 684 + source = "registry+https://github.com/rust-lang/crates.io-index" 685 + checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" 686 + dependencies = [ 687 + "bitflags", 688 + "hashbrown 0.15.5", 689 + "indexmap", 690 + "semver", 691 + ] 692 + 693 + [[package]] 694 + name = "winapi" 695 + version = "0.3.9" 696 + source = "registry+https://github.com/rust-lang/crates.io-index" 697 + checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 698 + dependencies = [ 699 + "winapi-i686-pc-windows-gnu", 700 + "winapi-x86_64-pc-windows-gnu", 701 + ] 702 + 703 + [[package]] 704 + name = "winapi-i686-pc-windows-gnu" 705 + version = "0.4.0" 706 + source = "registry+https://github.com/rust-lang/crates.io-index" 707 + checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 708 + 709 + [[package]] 710 + name = "winapi-x86_64-pc-windows-gnu" 711 + version = "0.4.0" 712 + source = "registry+https://github.com/rust-lang/crates.io-index" 713 + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 714 + 715 + [[package]] 716 + name = "windows" 717 + version = "0.61.3" 718 + source = "registry+https://github.com/rust-lang/crates.io-index" 719 + checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 720 + dependencies = [ 721 + "windows-collections", 722 + "windows-core", 723 + "windows-future", 724 + "windows-link 0.1.3", 725 + "windows-numerics", 726 + ] 727 + 728 + [[package]] 729 + name = "windows-collections" 730 + version = "0.2.0" 731 + source = "registry+https://github.com/rust-lang/crates.io-index" 732 + checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 733 + dependencies = [ 734 + "windows-core", 735 + ] 736 + 737 + [[package]] 738 + name = "windows-core" 739 + version = "0.61.2" 740 + source = "registry+https://github.com/rust-lang/crates.io-index" 741 + checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" 742 + dependencies = [ 743 + "windows-implement", 744 + "windows-interface", 745 + "windows-link 0.1.3", 746 + "windows-result", 747 + "windows-strings", 748 + ] 749 + 750 + [[package]] 751 + name = "windows-future" 752 + version = "0.2.1" 753 + source = "registry+https://github.com/rust-lang/crates.io-index" 754 + checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 755 + dependencies = [ 756 + "windows-core", 757 + "windows-link 0.1.3", 758 + "windows-threading", 759 + ] 760 + 761 + [[package]] 762 + name = "windows-implement" 763 + version = "0.60.2" 764 + source = "registry+https://github.com/rust-lang/crates.io-index" 765 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 766 + dependencies = [ 767 + "proc-macro2", 768 + "quote", 769 + "syn", 770 + ] 771 + 772 + [[package]] 773 + name = "windows-interface" 774 + version = "0.59.3" 775 + source = "registry+https://github.com/rust-lang/crates.io-index" 776 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 777 + dependencies = [ 778 + "proc-macro2", 779 + "quote", 780 + "syn", 781 + ] 782 + 783 + [[package]] 784 + name = "windows-link" 785 + version = "0.1.3" 786 + source = "registry+https://github.com/rust-lang/crates.io-index" 787 + checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 788 + 789 + [[package]] 790 + name = "windows-link" 791 + version = "0.2.1" 792 + source = "registry+https://github.com/rust-lang/crates.io-index" 793 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 794 + 795 + [[package]] 796 + name = "windows-numerics" 797 + version = "0.2.0" 798 + source = "registry+https://github.com/rust-lang/crates.io-index" 799 + checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 800 + dependencies = [ 801 + "windows-core", 802 + "windows-link 0.1.3", 803 + ] 804 + 805 + [[package]] 806 + name = "windows-result" 807 + version = "0.3.4" 808 + source = "registry+https://github.com/rust-lang/crates.io-index" 809 + checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 810 + dependencies = [ 811 + "windows-link 0.1.3", 812 + ] 813 + 814 + [[package]] 815 + name = "windows-strings" 816 + version = "0.4.2" 817 + source = "registry+https://github.com/rust-lang/crates.io-index" 818 + checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 819 + dependencies = [ 820 + "windows-link 0.1.3", 821 + ] 822 + 823 + [[package]] 824 + name = "windows-sys" 825 + version = "0.59.0" 826 + source = "registry+https://github.com/rust-lang/crates.io-index" 827 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 828 + dependencies = [ 829 + "windows-targets", 830 + ] 831 + 832 + [[package]] 833 + name = "windows-sys" 834 + version = "0.61.2" 835 + source = "registry+https://github.com/rust-lang/crates.io-index" 836 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 837 + dependencies = [ 838 + "windows-link 0.2.1", 839 + ] 840 + 841 + [[package]] 842 + name = "windows-targets" 843 + version = "0.52.6" 844 + source = "registry+https://github.com/rust-lang/crates.io-index" 845 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 846 + dependencies = [ 847 + "windows_aarch64_gnullvm", 848 + "windows_aarch64_msvc", 849 + "windows_i686_gnu", 850 + "windows_i686_gnullvm", 851 + "windows_i686_msvc", 852 + "windows_x86_64_gnu", 853 + "windows_x86_64_gnullvm", 854 + "windows_x86_64_msvc", 855 + ] 856 + 857 + [[package]] 858 + name = "windows-threading" 859 + version = "0.1.0" 860 + source = "registry+https://github.com/rust-lang/crates.io-index" 861 + checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" 862 + dependencies = [ 863 + "windows-link 0.1.3", 864 + ] 865 + 866 + [[package]] 867 + name = "windows_aarch64_gnullvm" 868 + version = "0.52.6" 869 + source = "registry+https://github.com/rust-lang/crates.io-index" 870 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 871 + 872 + [[package]] 873 + name = "windows_aarch64_msvc" 874 + version = "0.52.6" 875 + source = "registry+https://github.com/rust-lang/crates.io-index" 876 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 877 + 878 + [[package]] 879 + name = "windows_i686_gnu" 880 + version = "0.52.6" 881 + source = "registry+https://github.com/rust-lang/crates.io-index" 882 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 883 + 884 + [[package]] 885 + name = "windows_i686_gnullvm" 886 + version = "0.52.6" 887 + source = "registry+https://github.com/rust-lang/crates.io-index" 888 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 889 + 890 + [[package]] 891 + name = "windows_i686_msvc" 892 + version = "0.52.6" 893 + source = "registry+https://github.com/rust-lang/crates.io-index" 894 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 895 + 896 + [[package]] 897 + name = "windows_x86_64_gnu" 898 + version = "0.52.6" 899 + source = "registry+https://github.com/rust-lang/crates.io-index" 900 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 901 + 902 + [[package]] 903 + name = "windows_x86_64_gnullvm" 904 + version = "0.52.6" 905 + source = "registry+https://github.com/rust-lang/crates.io-index" 906 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 907 + 908 + [[package]] 909 + name = "windows_x86_64_msvc" 910 + version = "0.52.6" 911 + source = "registry+https://github.com/rust-lang/crates.io-index" 912 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 913 + 914 + [[package]] 915 + name = "wit-bindgen" 916 + version = "0.51.0" 917 + source = "registry+https://github.com/rust-lang/crates.io-index" 918 + checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" 919 + dependencies = [ 920 + "wit-bindgen-rust-macro", 921 + ] 922 + 923 + [[package]] 924 + name = "wit-bindgen-core" 925 + version = "0.51.0" 926 + source = "registry+https://github.com/rust-lang/crates.io-index" 927 + checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" 928 + dependencies = [ 929 + "anyhow", 930 + "heck", 931 + "wit-parser", 932 + ] 933 + 934 + [[package]] 935 + name = "wit-bindgen-rust" 936 + version = "0.51.0" 937 + source = "registry+https://github.com/rust-lang/crates.io-index" 938 + checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" 939 + dependencies = [ 940 + "anyhow", 941 + "heck", 942 + "indexmap", 943 + "prettyplease", 944 + "syn", 945 + "wasm-metadata", 946 + "wit-bindgen-core", 947 + "wit-component", 948 + ] 949 + 950 + [[package]] 951 + name = "wit-bindgen-rust-macro" 952 + version = "0.51.0" 953 + source = "registry+https://github.com/rust-lang/crates.io-index" 954 + checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" 955 + dependencies = [ 956 + "anyhow", 957 + "prettyplease", 958 + "proc-macro2", 959 + "quote", 960 + "syn", 961 + "wit-bindgen-core", 962 + "wit-bindgen-rust", 963 + ] 964 + 965 + [[package]] 966 + name = "wit-component" 967 + version = "0.244.0" 968 + source = "registry+https://github.com/rust-lang/crates.io-index" 969 + checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" 970 + dependencies = [ 971 + "anyhow", 972 + "bitflags", 973 + "indexmap", 974 + "log", 975 + "serde", 976 + "serde_derive", 977 + "serde_json", 978 + "wasm-encoder", 979 + "wasm-metadata", 980 + "wasmparser", 981 + "wit-parser", 982 + ] 983 + 984 + [[package]] 985 + name = "wit-parser" 986 + version = "0.244.0" 987 + source = "registry+https://github.com/rust-lang/crates.io-index" 988 + checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" 989 + dependencies = [ 990 + "anyhow", 991 + "id-arena", 992 + "indexmap", 993 + "log", 994 + "semver", 995 + "serde", 996 + "serde_derive", 997 + "serde_json", 998 + "unicode-xid", 999 + "wasmparser", 1000 + ] 1001 + 1002 + [[package]] 1003 + name = "zmij" 1004 + version = "1.0.21" 1005 + source = "registry+https://github.com/rust-lang/crates.io-index" 1006 + checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+6 -2
Cargo.toml
··· 24 24 nursery = "deny" 25 25 26 26 [workspace.dependencies] 27 - 27 + snafu = "0.9.0" 28 + tracing = "0.1.44" 28 29 29 30 [package] 30 31 name = "filaments" ··· 43 44 workspace = true 44 45 45 46 [dependencies] 46 - 47 + tracing = {workspace = true} 48 + color-eyre = "0.6.5" 49 + human-panic = "2.0.6" 50 + better-panic = "0.3.0"
+74
src/errors.rs
··· 1 + /// Sets the panic-hook to be customized color-eyre `panic_hook`. 2 + /// 3 + /// Additionally the panic handler prints different information 4 + /// based on debug / release builds. 5 + pub fn init() -> color_eyre::Result<()> { 6 + let (panic_hook, eyre_hook) = color_eyre::config::HookBuilder::default() 7 + .panic_section(format!( 8 + "This is a bug. Please report it at {}", 9 + env!("CARGO_PKG_REPOSITORY") 10 + )) 11 + .capture_span_trace_by_default(false) 12 + .display_location_section(false) 13 + .display_env_section(false) 14 + .into_hooks(); 15 + 16 + eyre_hook.install()?; 17 + std::panic::set_hook(Box::new(move |panic_info| { 18 + //TODO: exit from terminal if the app is in a terminal 19 + 20 + // in release mode, do human_panic printing 21 + #[cfg(not(debug_assertions))] 22 + { 23 + use human_panic::{handle_dump, metadata, print_msg}; 24 + let metadata = metadata!(); 25 + let file_path = handle_dump(&metadata, panic_info); 26 + print_msg(file_path, &metadata) 27 + .expect("human-panic: printing error message to console failed"); 28 + eprintln!("{}", panic_hook.panic_report(panic_info)); 29 + } 30 + 31 + // in debug mode do better panic printing 32 + #[cfg(debug_assertions)] 33 + { 34 + better_panic::Settings::auto() 35 + .most_recent_first(false) 36 + .lineno_suffix(true) 37 + .verbosity(better_panic::Verbosity::Full) 38 + .create_panic_handler()(panic_info); 39 + } 40 + 41 + // 1 = failure 42 + std::process::exit(1) 43 + })); 44 + 45 + Ok(()) 46 + } 47 + 48 + /// Akin to `dbg!` macro, except that it generates `tracing::Event`s instead 49 + /// of printing to standard error. 50 + /// 51 + /// Can customize level by providing a `tracing::Level`, but its debug by default. 52 + #[macro_export] 53 + macro_rules! trace_dbg { 54 + (target: $target:expr, level: $level:expr, $ex:expr) => { 55 + { 56 + match $ex { 57 + value => { 58 + tracing::event!(target: $target, $level, ?value, stringify!($ex)); 59 + value 60 + } 61 + } 62 + } 63 + }; 64 + (level: $level:expr, $ex:expr) => { 65 + trace_dbg!(target: module_path!(), level: $level, $ex) 66 + }; 67 + 68 + (target: $target:expr, $ex:expr) => { 69 + trace_dbg!(target: $target, level: tracing::Level::DEBUG, $ex) 70 + }; 71 + ($ex:expr) => { 72 + trace_dbg!(level: tracing::Level::DEBUG, $ex) 73 + }; 74 + }
+6 -2
src/main.rs
··· 2 2 //! My (suri.codes) personal-knowledge-system, with deeply integrated task tracking and long term goal planning capabilities. 3 3 //! 4 4 5 - fn main() { 6 - println!("Hello, world!"); 5 + mod errors; 6 + 7 + fn main() -> color_eyre::Result<()> { 8 + errors::init()?; 9 + 10 + Ok(()) 7 11 }

History

1 round 0 comments
sign up or login to add to the discussion
suri.codes submitted #0
1 commit
expand
feat: panic_handler
expand 0 comments
closed without merging