mirror of https://github.com/astral-sh/ruff
refactor: Simplify Linter::categories
This commit is contained in:
parent
0b7fa64481
commit
1b0748d19d
|
|
@ -7,7 +7,6 @@ use strum_macros::{AsRefStr, EnumIter};
|
||||||
|
|
||||||
use crate::ast::types::Range;
|
use crate::ast::types::Range;
|
||||||
use crate::fix::Fix;
|
use crate::fix::Fix;
|
||||||
use crate::rule_selector::{prefix_to_selector, RuleSelector};
|
|
||||||
use crate::violation::Violation;
|
use crate::violation::Violation;
|
||||||
use crate::{rules, violations};
|
use crate::{rules, violations};
|
||||||
|
|
||||||
|
|
@ -634,27 +633,21 @@ pub trait RuleNamespace: Sized {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The prefix, name and selector for an upstream linter category.
|
/// The prefix, name and selector for an upstream linter category.
|
||||||
pub struct LinterCategory(pub &'static str, pub &'static str, pub RuleSelector);
|
pub struct LinterCategory(pub &'static str, pub &'static str, pub RuleCodePrefix);
|
||||||
|
|
||||||
// TODO(martin): Move these constant definitions back to Linter::categories impl
|
|
||||||
// once RuleSelector is an enum with a Linter variant
|
|
||||||
const PYCODESTYLE_CATEGORIES: &[LinterCategory] = &[
|
|
||||||
LinterCategory("E", "Error", prefix_to_selector(RuleCodePrefix::E)),
|
|
||||||
LinterCategory("W", "Warning", prefix_to_selector(RuleCodePrefix::W)),
|
|
||||||
];
|
|
||||||
|
|
||||||
const PYLINT_CATEGORIES: &[LinterCategory] = &[
|
|
||||||
LinterCategory("PLC", "Convention", prefix_to_selector(RuleCodePrefix::PLC)),
|
|
||||||
LinterCategory("PLE", "Error", prefix_to_selector(RuleCodePrefix::PLE)),
|
|
||||||
LinterCategory("PLR", "Refactor", prefix_to_selector(RuleCodePrefix::PLR)),
|
|
||||||
LinterCategory("PLW", "Warning", prefix_to_selector(RuleCodePrefix::PLW)),
|
|
||||||
];
|
|
||||||
|
|
||||||
impl Linter {
|
impl Linter {
|
||||||
pub fn categories(&self) -> Option<&'static [LinterCategory]> {
|
pub fn categories(&self) -> Option<&'static [LinterCategory]> {
|
||||||
match self {
|
match self {
|
||||||
Linter::Pycodestyle => Some(PYCODESTYLE_CATEGORIES),
|
Linter::Pycodestyle => Some(&[
|
||||||
Linter::Pylint => Some(PYLINT_CATEGORIES),
|
LinterCategory("E", "Error", RuleCodePrefix::E),
|
||||||
|
LinterCategory("W", "Warning", RuleCodePrefix::W),
|
||||||
|
]),
|
||||||
|
Linter::Pylint => Some(&[
|
||||||
|
LinterCategory("PLC", "Convention", RuleCodePrefix::PLC),
|
||||||
|
LinterCategory("PLE", "Error", RuleCodePrefix::PLE),
|
||||||
|
LinterCategory("PLR", "Refactor", RuleCodePrefix::PLR),
|
||||||
|
LinterCategory("PLW", "Warning", RuleCodePrefix::PLW),
|
||||||
|
]),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue