diff --git a/src/main.rs b/src/main.rs index f87d6c6..a202eb4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -49,7 +49,23 @@ fn main() -> Result<()> { .get_matches(); let config = matches.value_of("config").unwrap_or("~/.taskrc"); - task::block_on(tui_main(config)) + let r = task::block_on(tui_main(config)); + match r { + Ok(_) => std::process::exit(0), + Err(error) => { + if error.to_string().to_lowercase().contains("no such file or directory") { + eprintln!( + "[taskwarrior-tui error]: Unable to find executable `task`: {}. Check that taskwarrior is installed correctly and try again.", error + ); + } else { + eprintln!( + "[taskwarrior-tui error]: {}. Please report as a github issue on https://github.com/kdheepak/taskwarrior-tui", + error + ); + } + std::process::exit(1); + } + } } async fn tui_main(_config: &str) -> Result<()> {