diff --git a/src/app.rs b/src/app.rs index 1526b68..5941871 100644 --- a/src/app.rs +++ b/src/app.rs @@ -218,11 +218,11 @@ impl TaskwarriorTuiApp { .output() .context("Unable to run `task diagnostics`.") .unwrap(); - panic!( + return Err(anyhow!( "Unable to run `task show`.\n{}\n{}\nPlease check your configuration or open a issue on github.", String::from_utf8_lossy(&output.stdout), - String::from_utf8_lossy(&output.stderr), - ); + String::from_utf8_lossy(&output.stderr) + )); } let data = String::from_utf8_lossy(&output.stdout); diff --git a/src/main.rs b/src/main.rs index ab6095a..691c048 100644 --- a/src/main.rs +++ b/src/main.rs @@ -59,9 +59,11 @@ fn main() { let config = matches.value_of("config").unwrap_or("~/.taskrc"); let report = matches.value_of("report").unwrap_or("next"); - task::block_on(tui_main(config, report)).expect( - "[taskwarrior-tui error]. If you need additional help, please report as a github issue on https://github.com/kdheepak/taskwarrior-tui", - ); + let r = task::block_on(tui_main(config, report)); + if let Err(err) = r { + eprintln!("\x1b[0;31m[taskwarrior-tui error]\x1b[0m: {}\n\nIf you need additional help, please report as a github issue on https://github.com/kdheepak/taskwarrior-tui", err); + std::process::exit(1); + } } async fn tui_main(_config: &str, report: &str) -> Result<()> {