diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/git-sugpatch.rs | 12 | ||||
-rw-r--r-- | src/error.rs | 8 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/bin/git-sugpatch.rs b/src/bin/git-sugpatch.rs index 04b687d..0159307 100644 --- a/src/bin/git-sugpatch.rs +++ b/src/bin/git-sugpatch.rs @@ -1,7 +1,10 @@ use std::env; use std::process; +use exitcode; + use github_suggestion::{Client, Suggestion, SuggestionUrl}; +use github_suggestion_cli::gseprintln; use github_suggestion_cli::config::Config; use github_suggestion_cli::error::Error; use github_suggestion_cli::is_suggestion_id; @@ -10,7 +13,14 @@ use github_suggestion_cli::is_suggestion_id; fn main() { let args: Vec<_> = env::args().collect(); - let config = Config::get(&args).unwrap(); + let config = match Config::get(&args) { + Ok(c) => c, + Err(e) => { + gseprintln!(e); + + process::exit(exitcode::DATAERR); + }, + }; if config.suggestions.is_empty() { process::exit(111); diff --git a/src/error.rs b/src/error.rs index c857bd2..bcca3e1 100644 --- a/src/error.rs +++ b/src/error.rs @@ -7,3 +7,11 @@ pub enum Error { #[error("Unable to parse regex")] Regex(#[from] regex::Error), } + + +#[macro_export] +macro_rules! gseprintln { + ($arg:expr) => ({ + eprintln!("error: {}", $arg); + }) +} |