Skip to content

Commit

Permalink
Update fix summary message in check --diff to include suggested fix…
Browse files Browse the repository at this point in the history
… notes
  • Loading branch information
zanieb committed Oct 3, 2023
1 parent ee903bf commit 951a207
Showing 1 changed file with 37 additions and 17 deletions.
54 changes: 37 additions & 17 deletions crates/ruff_cli/src/printer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,15 @@ impl Printer {

fn write_summary_text(&self, writer: &mut dyn Write, diagnostics: &Diagnostics) -> Result<()> {
if self.log_level >= LogLevel::Default {
let fixables = FixableStatistics::new(diagnostics, self.fix_mode.suggested_fixes());

let fixed = diagnostics
.fixed
.values()
.flat_map(std::collections::HashMap::values)
.sum::<usize>();

if self.flags.intersects(Flags::SHOW_VIOLATIONS) {
let fixed = diagnostics
.fixed
.values()
.flat_map(std::collections::HashMap::values)
.sum::<usize>();
let remaining = diagnostics.messages.len();
let total = fixed + remaining;
if fixed > 0 {
Expand All @@ -119,23 +122,40 @@ impl Printer {
writeln!(writer, "Found {remaining} error{s}.")?;
}

let fixables = FixableStatistics::new(diagnostics, self.fix_mode.suggested_fixes());

if !fixables.is_empty() {
writeln!(writer, "{}", fixables.violation_string())?;
}
} else {
let fixed = diagnostics
.fixed
.values()
.flat_map(std::collections::HashMap::values)
.sum::<usize>();
if fixed > 0 {
let s = if fixed == 1 { "" } else { "s" };
if self.fix_mode.is_apply() {
writeln!(writer, "Fixed {fixed} error{s}.")?;
// Check if there are unresolved suggested fixes
let remaining_suggested =
if self.fix_mode.suggested_fixes().is_disable() && fixables.suggested > 0 {
fixables.suggested
} else {
writeln!(writer, "Would fix {fixed} error{s}.")?;
0
};

if remaining_suggested > 0 {
let es = if remaining_suggested == 1 { "" } else { "es" };
let s = if remaining_suggested == 1 { "s" } else { "" };
let omitted = format!("{remaining_suggested} additional fix{es} require{s} `--fix-suggested` to apply");
if fixed > 0 {
let s = if fixed == 1 { "" } else { "s" };
if self.fix_mode.is_apply() {
writeln!(writer, "Fixed {fixed} error{s} ({omitted}).")?;
} else {
writeln!(writer, "Would fix {fixed} error{s} ({omitted}).")?;
}
} else {
writeln!(writer, "No errors fixed. {omitted}")?;
}
} else {
if fixed > 0 {
let s = if fixed == 1 { "" } else { "s" };
if self.fix_mode.is_apply() {
writeln!(writer, "Fixed {fixed} error{s}.")?;
} else {
writeln!(writer, "Would fix {fixed} error{s}.")?;
}
}
}
}
Expand Down

0 comments on commit 951a207

Please sign in to comment.