diff options
author | Teddy Wing | 2020-08-02 05:30:03 +0200 |
---|---|---|
committer | Teddy Wing | 2020-08-02 05:30:03 +0200 |
commit | 344f4d3fcd7d36e67ca04dd2e3e21f0e8b12b0dd (patch) | |
tree | 9c274f631ffca2c4c9e08a7d4a221a2f8b80d082 /src/bin/git-sugpatch.rs | |
parent | 3f125dae8fa2e97354c3c7bc4def4bac1e9eacf1 (diff) | |
download | git-suggestion-344f4d3fcd7d36e67ca04dd2e3e21f0e8b12b0dd.tar.bz2 |
git-sugpatch: Move the suggestion arguments loop to a new function
Split this out into a separate function because I want to reuse it in
`git-sugapply`.
Diffstat (limited to 'src/bin/git-sugpatch.rs')
-rw-r--r-- | src/bin/git-sugpatch.rs | 45 |
1 files changed, 5 insertions, 40 deletions
diff --git a/src/bin/git-sugpatch.rs b/src/bin/git-sugpatch.rs index c4969b1..5b95519 100644 --- a/src/bin/git-sugpatch.rs +++ b/src/bin/git-sugpatch.rs @@ -3,8 +3,7 @@ use std::process; use exitcode; -use github_suggestion::{Client, SuggestionUrl}; -use github_suggestion_cli::{gseprintln, is_suggestion_id}; +use github_suggestion_cli::{gseprintln, for_suggestion}; use github_suggestion_cli::config::Config; @@ -24,42 +23,8 @@ fn main() { process::exit(111); } - for suggestion_arg in config.suggestions { - let suggestion = if match is_suggestion_id(&suggestion_arg) { - Ok(p) => p, - Err(e) => { - gseprintln!(e); - - process::exit(exitcode::SOFTWARE); - } - } { - let o_r = match &config.o_r { - Ok(o_r) => o_r, - Err(e) => { - gseprintln!(e); - process::exit(exitcode::CONFIG); - }, - }; - - let client = Client::new( - &config.github_token, - &o_r.owner, - &o_r.repo, - ).unwrap(); - - client.fetch(&suggestion_arg).unwrap() - } else { - let url: SuggestionUrl = suggestion_arg.parse().unwrap(); - - let client = Client::new( - &config.github_token, - &url.owner, - &url.repo, - ).unwrap(); - - client.fetch(&url.comment_id).unwrap() - }; - - print!("{}", suggestion.diff().unwrap()); - } + for_suggestion( + &config, + |suggestion| print!("{}", suggestion.diff().unwrap()), + ); } |