diff --git a/src/subcommand.rs b/src/subcommand.rs index 449f1009..be36912b 100644 --- a/src/subcommand.rs +++ b/src/subcommand.rs @@ -374,21 +374,23 @@ impl Subcommand { return if formatted == src { Ok(()) } else { - use similar::{ChangeTag, TextDiff}; + if !config.verbosity.quiet() { + use similar::{ChangeTag, TextDiff}; - let diff = TextDiff::configure() - .algorithm(similar::Algorithm::Patience) - .diff_lines(src, &formatted); + let diff = TextDiff::configure() + .algorithm(similar::Algorithm::Patience) + .diff_lines(src, &formatted); - for op in diff.ops() { - for change in diff.iter_changes(op) { - let (symbol, color) = match change.tag() { - ChangeTag::Delete => ("-", config.color.stderr().diff_deleted()), - ChangeTag::Equal => (" ", config.color.stderr()), - ChangeTag::Insert => ("+", config.color.stderr().diff_added()), - }; + for op in diff.ops() { + for change in diff.iter_changes(op) { + let (symbol, color) = match change.tag() { + ChangeTag::Delete => ("-", config.color.stderr().diff_deleted()), + ChangeTag::Equal => (" ", config.color.stderr()), + ChangeTag::Insert => ("+", config.color.stderr().diff_added()), + }; - eprint!("{}{symbol}{change}{}", color.prefix(), color.suffix()); + eprint!("{}{symbol}{change}{}", color.prefix(), color.suffix()); + } } } diff --git a/tests/fmt.rs b/tests/fmt.rs index 348cb27f..3c972eda 100644 --- a/tests/fmt.rs +++ b/tests/fmt.rs @@ -53,6 +53,14 @@ test! { status: EXIT_FAILURE, } +test! { + name: check_found_diff_quiet, + justfile: "x:=``\n", + args: ("--unstable", "--fmt", "--check", "--quiet"), + stderr: "", + status: EXIT_FAILURE, +} + test! { name: check_diff_color, justfile: "x:=``\n",