From 849b947b3e1cc4be0a320414787678e436835f1e Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 3 Feb 2023 03:31:17 +0100 Subject: [PATCH] many-to-one 7/9: Update JSON schema --- crates/ruff/src/rule_redirects.rs | 5 +++++ crates/ruff/src/rule_selector.rs | 19 ++++++++++++++----- ruff.schema.json | 5 ----- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/crates/ruff/src/rule_redirects.rs b/crates/ruff/src/rule_redirects.rs index 73981e2f90..b0b9844072 100644 --- a/crates/ruff/src/rule_redirects.rs +++ b/crates/ruff/src/rule_redirects.rs @@ -15,6 +15,11 @@ pub(crate) fn get_redirect(code: &str) -> Option<(&'static str, &'static str)> { static REDIRECTS: Lazy> = Lazy::new(|| { HashMap::from_iter([ + ("C", "C4"), + ("C9", "C90"), + ("T", "T10"), + ("T1", "T10"), + ("T2", "T20"), // TODO(charlie): Remove by 2023-02-01. ("R", "RET"), ("R5", "RET5"), diff --git a/crates/ruff/src/rule_selector.rs b/crates/ruff/src/rule_selector.rs index 72e69ea8b6..20996ebc13 100644 --- a/crates/ruff/src/rule_selector.rs +++ b/crates/ruff/src/rule_selector.rs @@ -1,5 +1,6 @@ use std::str::FromStr; +use itertools::Itertools; use schemars::_serde_json::Value; use schemars::schema::{InstanceType, Schema, SchemaObject}; use schemars::JsonSchema; @@ -181,11 +182,19 @@ impl JsonSchema for RuleSelector { instance_type: Some(InstanceType::String.into()), enum_values: Some( std::iter::once("ALL".to_string()) - .chain(RuleCodePrefix::iter().map(|p| { - let prefix = p.linter().common_prefix(); - let code = p.short_code(); - format!("{prefix}{code}") - })) + .chain( + RuleCodePrefix::iter() + .map(|p| { + let prefix = p.linter().common_prefix(); + let code = p.short_code(); + format!("{prefix}{code}") + }) + .chain(Linter::iter().filter_map(|l| { + let prefix = l.common_prefix(); + (!prefix.is_empty()).then(|| prefix.to_string()) + })) + .sorted(), + ) .map(Value::String) .collect(), ), diff --git a/ruff.schema.json b/ruff.schema.json index 2b4a3dc463..40959d62be 100644 --- a/ruff.schema.json +++ b/ruff.schema.json @@ -1376,7 +1376,6 @@ "BLE0", "BLE00", "BLE001", - "C", "C4", "C40", "C400", @@ -1396,7 +1395,6 @@ "C415", "C416", "C417", - "C9", "C90", "C901", "COM", @@ -1939,11 +1937,8 @@ "SLF0", "SLF00", "SLF001", - "T", - "T1", "T10", "T100", - "T2", "T20", "T201", "T203",