mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-30 05:44:56 +00:00
Added ignoring deprecated rules for --select=ALL (#10497)
Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
parent
9e8a45f343
commit
c46ae3a3cf
1 changed files with 17 additions and 9 deletions
|
@ -5,8 +5,8 @@ use serde::{Deserialize, Serialize};
|
|||
use strum::IntoEnumIterator;
|
||||
use strum_macros::EnumIter;
|
||||
|
||||
use crate::codes::RuleCodePrefix;
|
||||
use crate::codes::RuleIter;
|
||||
use crate::codes::{RuleCodePrefix, RuleGroup};
|
||||
use crate::registry::{Linter, Rule, RuleNamespace};
|
||||
use crate::rule_redirects::get_redirect;
|
||||
use crate::settings::types::PreviewMode;
|
||||
|
@ -205,15 +205,23 @@ impl RuleSelector {
|
|||
pub fn rules<'a>(&'a self, preview: &PreviewOptions) -> impl Iterator<Item = Rule> + 'a {
|
||||
let preview_enabled = preview.mode.is_enabled();
|
||||
let preview_require_explicit = preview.require_explicit;
|
||||
|
||||
self.all_rules().filter(move |rule| {
|
||||
match rule.group() {
|
||||
// Always include stable rules
|
||||
rule.is_stable()
|
||||
RuleGroup::Stable => true,
|
||||
// Enabling preview includes all preview rules unless explicit selection is turned on
|
||||
|| (rule.is_preview() && preview_enabled && (self.is_exact() || !preview_require_explicit))
|
||||
// Deprecated rules are excluded in preview mode unless explicitly selected
|
||||
|| (rule.is_deprecated() && (!preview_enabled || self.is_exact()))
|
||||
RuleGroup::Preview => {
|
||||
preview_enabled && (self.is_exact() || !preview_require_explicit)
|
||||
}
|
||||
// Deprecated rules are excluded in preview mode and with 'All' option unless explicitly selected
|
||||
RuleGroup::Deprecated => {
|
||||
(!preview_enabled || self.is_exact())
|
||||
&& !matches!(self, RuleSelector::All { .. })
|
||||
}
|
||||
// Removed rules are included if explicitly selected but will error downstream
|
||||
|| (rule.is_removed() && self.is_exact())
|
||||
RuleGroup::Removed => self.is_exact(),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue