diff --git a/crates/ruff/src/printer.rs b/crates/ruff/src/printer.rs index 19892a89f3..f1ab78f86c 100644 --- a/crates/ruff/src/printer.rs +++ b/crates/ruff/src/printer.rs @@ -229,8 +229,8 @@ impl Printer { .preview(preview) .hide_severity(true) .color(!cfg!(test) && colored::control::SHOULD_COLORIZE.should_colorize()) - .show_fix_status(show_fix_status(self.fix_mode, fixables.as_ref())) - .fix_applicability(self.unsafe_fixes.required_applicability()) + .with_show_fix_status(show_fix_status(self.fix_mode, fixables.as_ref())) + .with_fix_applicability(self.unsafe_fixes.required_applicability()) .show_fix_diff(preview); match DiagnosticFormat::try_from(self.format) { @@ -246,8 +246,8 @@ impl Printer { } Err(RuffOutputFormat::Grouped) => { GroupedEmitter::default() - .with_show_fix_status(show_fix_status(self.fix_mode, fixables.as_ref())) - .with_applicability(self.unsafe_fixes.required_applicability()) + .with_show_fix_status(config.show_fix_status()) + .with_applicability(config.fix_applicability()) .emit(writer, &diagnostics.inner, &context)?; } Err(RuffOutputFormat::Sarif) => { @@ -418,9 +418,9 @@ impl Printer { let config = DisplayDiagnosticConfig::default() .hide_severity(true) .color(!cfg!(test) && colored::control::SHOULD_COLORIZE.should_colorize()) - .show_fix_status(show_fix_status(self.fix_mode, fixables.as_ref())) + .with_show_fix_status(show_fix_status(self.fix_mode, fixables.as_ref())) .format(format) - .fix_applicability(self.unsafe_fixes.required_applicability()); + .with_fix_applicability(self.unsafe_fixes.required_applicability()); write!( writer, "{}", diff --git a/crates/ruff_db/src/diagnostic/mod.rs b/crates/ruff_db/src/diagnostic/mod.rs index 99b8b9d83b..413e08cbe2 100644 --- a/crates/ruff_db/src/diagnostic/mod.rs +++ b/crates/ruff_db/src/diagnostic/mod.rs @@ -1353,7 +1353,7 @@ impl DisplayDiagnosticConfig { } /// Whether to show a fix's availability or not. - pub fn show_fix_status(self, yes: bool) -> DisplayDiagnosticConfig { + pub fn with_show_fix_status(self, yes: bool) -> DisplayDiagnosticConfig { DisplayDiagnosticConfig { show_fix_status: yes, ..self @@ -1374,12 +1374,20 @@ impl DisplayDiagnosticConfig { /// availability for unsafe or display-only fixes. /// /// Note that this option is currently ignored when `hide_severity` is false. - pub fn fix_applicability(self, applicability: Applicability) -> DisplayDiagnosticConfig { + pub fn with_fix_applicability(self, applicability: Applicability) -> DisplayDiagnosticConfig { DisplayDiagnosticConfig { fix_applicability: applicability, ..self } } + + pub fn show_fix_status(&self) -> bool { + self.show_fix_status + } + + pub fn fix_applicability(&self) -> Applicability { + self.fix_applicability + } } impl Default for DisplayDiagnosticConfig { diff --git a/crates/ruff_db/src/diagnostic/render.rs b/crates/ruff_db/src/diagnostic/render.rs index 86b04fef00..8f1b9184a8 100644 --- a/crates/ruff_db/src/diagnostic/render.rs +++ b/crates/ruff_db/src/diagnostic/render.rs @@ -2618,7 +2618,7 @@ watermelon /// Show fix availability when rendering. pub(super) fn show_fix_status(&mut self, yes: bool) { let mut config = std::mem::take(&mut self.config); - config = config.show_fix_status(yes); + config = config.with_show_fix_status(yes); self.config = config; } @@ -2632,7 +2632,7 @@ watermelon /// The lowest fix applicability to show when rendering. pub(super) fn fix_applicability(&mut self, applicability: Applicability) { let mut config = std::mem::take(&mut self.config); - config = config.fix_applicability(applicability); + config = config.with_fix_applicability(applicability); self.config = config; } diff --git a/crates/ruff_linter/src/test.rs b/crates/ruff_linter/src/test.rs index e226bfc28a..2ebb244d62 100644 --- a/crates/ruff_linter/src/test.rs +++ b/crates/ruff_linter/src/test.rs @@ -449,9 +449,9 @@ pub(crate) fn print_jupyter_messages( let config = DisplayDiagnosticConfig::default() .format(DiagnosticFormat::Full) .hide_severity(true) - .show_fix_status(true) + .with_show_fix_status(true) .show_fix_diff(true) - .fix_applicability(Applicability::DisplayOnly); + .with_fix_applicability(Applicability::DisplayOnly); DisplayDiagnostics::new( &EmitterContext::new(&FxHashMap::from_iter([( @@ -468,9 +468,9 @@ pub(crate) fn print_messages(diagnostics: &[Diagnostic]) -> String { let config = DisplayDiagnosticConfig::default() .format(DiagnosticFormat::Full) .hide_severity(true) - .show_fix_status(true) + .with_show_fix_status(true) .show_fix_diff(true) - .fix_applicability(Applicability::DisplayOnly); + .with_fix_applicability(Applicability::DisplayOnly); DisplayDiagnostics::new( &EmitterContext::new(&FxHashMap::default()),