From be55ff0c2bbf37589d409cb0d6d5b37b8dd8720f Mon Sep 17 00:00:00 2001 From: Stefan Kreutz Date: Mon, 25 Mar 2024 21:26:33 +0100 Subject: Extract print closure --- src/main.rs | 18 ++++++++---------- 1 file 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(()) } -- cgit v1.2.3