diff options
author | Stefan Kreutz <mail@skreutz.com> | 2024-03-25 21:26:33 +0100 |
---|---|---|
committer | Stefan Kreutz <mail@skreutz.com> | 2024-03-25 21:26:33 +0100 |
commit | be55ff0c2bbf37589d409cb0d6d5b37b8dd8720f (patch) | |
tree | ce17781fdfbb276d46d2c3126f79cdc8a2d5ce98 | |
parent | 6c9449f0b8bf80c08c8c6970ee6bca977a39e560 (diff) | |
download | brck-be55ff0c2bbf37589d409cb0d6d5b37b8dd8720f.tar |
Extract print closure
-rw-r--r-- | src/main.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/main.rs b/src/main.rs index 27dd6dc..b22d7e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -213,6 +213,12 @@ fn run() -> Result<(), anyhow::Error> { let mut counter = HashMap::new(); let mut denied = 0; + let print = if args.json { + |diff: &Diff| println!("{}", serde_json::to_string(&diff).unwrap()) + } else { + |diff: &Diff| println!("{diff}") + }; + diff(db, fs).try_for_each(|item| match item { Err(Either::Left(err)) => Err(err), Err(Either::Right(err)) => Err(err), @@ -225,20 +231,12 @@ fn run() -> Result<(), anyhow::Error> { ) })?; if args.deny.contains(&diff.kind()) { - if args.json { - println!("{}", serde_json::to_string(&diff).unwrap()); - } else { - println!("{diff}"); - } denied += 1; + print(&diff); } else if args.verbosity > 1 || (diff.kind() != DiffKind::Unchanged && args.verbosity > 0) { - if args.json { - println!("{}", serde_json::to_string(&diff).unwrap()); - } else { - println!("{diff}"); - } + print(&diff); } Ok(()) } |