Skip to content

Commit

Permalink
fix pylint upstream category
Browse files Browse the repository at this point in the history
  • Loading branch information
augustelalande committed Mar 18, 2024
1 parent 526abeb commit 7e1fdfe
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 26 deletions.
11 changes: 10 additions & 1 deletion crates/ruff_dev/src/generate_rules_table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,17 @@ pub(crate) fn generate() -> String {
.map(|rule| (rule.upstream_category(&linter), rule))
.into_group_map();

let mut rules_by_upstream_category: Vec<_> = rules_by_upstream_category.iter().collect();

// Sort the upstream categories alphabetically by prefix.
rules_by_upstream_category.sort_by(|a, b| {
a.0.as_ref()
.map_or("", |x| x.prefix)
.cmp(b.0.as_ref().map_or("", |x| x.prefix))
});

if rules_by_upstream_category.len() > 1 {
for (opt, rules) in &rules_by_upstream_category {
for (opt, rules) in rules_by_upstream_category {
if opt.is_some() {
let UpstreamCategoryAndPrefix { category, prefix } = opt.unwrap();
table_out.push_str(&format!("#### {category} ({prefix})"));
Expand Down
40 changes: 15 additions & 25 deletions crates/ruff_linter/src/upstream_categories.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,19 @@ pub struct UpstreamCategoryAndPrefix {
pub prefix: &'static str,
}

const PLC: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
const C: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
category: "Convention",
prefix: "PLC",
prefix: "C",
};

const PLE: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
const E: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
category: "Error",
prefix: "PLE",
prefix: "E",
};

const PLR: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
const R: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
category: "Refactor",
prefix: "PLR",
};

const PLW: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
category: "Warning",
prefix: "PLW",
};

const E: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
category: "Error",
prefix: "E",
prefix: "R",
};

const W: UpstreamCategoryAndPrefix = UpstreamCategoryAndPrefix {
Expand All @@ -52,14 +42,14 @@ impl Rule {
}
}
Linter::Pylint => {
if code.starts_with("PLC") {
Some(PLC)
} else if code.starts_with("PLE") {
Some(PLE)
} else if code.starts_with("PLR") {
Some(PLR)
} else if code.starts_with("PLW") {
Some(PLW)
if code.starts_with('C') {
Some(C)
} else if code.starts_with('E') {
Some(E)
} else if code.starts_with('R') {
Some(R)
} else if code.starts_with('W') {
Some(W)
} else {
None
}
Expand All @@ -73,7 +63,7 @@ impl Linter {
pub const fn upstream_categories(&self) -> Option<&'static [UpstreamCategoryAndPrefix]> {
match self {
Linter::Pycodestyle => Some(&[E, W]),
Linter::Pylint => Some(&[PLC, PLE, PLR, PLW]),
Linter::Pylint => Some(&[C, E, R, W]),
_ => None,
}
}
Expand Down

0 comments on commit 7e1fdfe

Please sign in to comment.