Skip to content

Commit 2a45e8a

Browse files
committed
Added better error display with better-panic and color_eyre
1 parent 7533014 commit 2a45e8a

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ version = "0.1.0"
44
edition = "2024"
55

66
[dependencies]
7+
better-panic = "0.3.0"
78
chrono = { version = "0.4.41", features = ["serde"] }
89
clap = { version = "4.5.39", features = ["derive"] }
10+
color-eyre = "0.6.5"
911
colored = "3.0.0"
1012
futures = "0.3.31"
1113
hex = "0.4.3"

core/src/main.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use color_eyre::eyre::Result;
12
mod actions;
23
pub mod curseforge_wrapper;
34
pub mod modrinth_wrapper;
@@ -10,7 +11,21 @@ use tracing::{error, info, level_filters::LevelFilter};
1011
use tracing_subscriber::EnvFilter;
1112

1213
#[tokio::main]
13-
async fn main() -> Result<(), Box<dyn std::error::Error>> {
14+
async fn main() -> Result<()> {
15+
#[cfg(not(debug_assertions))]
16+
{
17+
color_eyre::install()?;
18+
}
19+
#[cfg(debug_assertions)]
20+
{
21+
std::panic::set_hook(Box::new(move |panic_info| {
22+
better_panic::Settings::auto()
23+
.most_recent_first(false)
24+
.lineno_suffix(true)
25+
.verbosity(better_panic::Verbosity::Full)
26+
.create_panic_handler()(panic_info);
27+
}));
28+
}
1429
let cli = Cli::parse();
1530

1631
let filter = if cli.silent {

0 commit comments

Comments
 (0)