diff options
-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(()) } |