diff --git a/crates/ruff/src/registry.rs b/crates/ruff/src/registry.rs index 936deecd09..1fae5c351e 100644 --- a/crates/ruff/src/registry.rs +++ b/crates/ruff/src/registry.rs @@ -10,7 +10,7 @@ use crate::fix::Fix; use crate::rules; use crate::violation::Violation; -ruff_macros::define_rule_mapping!( +ruff_macros::register_rules!( // pycodestyle errors E101 => rules::pycodestyle::rules::MixedSpacesAndTabs, #[cfg(feature = "logical_lines")] diff --git a/crates/ruff_macros/src/lib.rs b/crates/ruff_macros/src/lib.rs index 5f077ed5b0..9fa940223e 100644 --- a/crates/ruff_macros/src/lib.rs +++ b/crates/ruff_macros/src/lib.rs @@ -3,9 +3,9 @@ use syn::{parse_macro_input, DeriveInput, ItemFn}; mod config; -mod define_rule_mapping; mod define_violation; mod derive_message_formats; +mod register_rules; mod rule_code_prefix; mod rule_namespace; @@ -19,9 +19,9 @@ pub fn derive_config(input: proc_macro::TokenStream) -> proc_macro::TokenStream } #[proc_macro] -pub fn define_rule_mapping(item: proc_macro::TokenStream) -> proc_macro::TokenStream { - let mapping = parse_macro_input!(item as define_rule_mapping::Mapping); - define_rule_mapping::define_rule_mapping(&mapping).into() +pub fn register_rules(item: proc_macro::TokenStream) -> proc_macro::TokenStream { + let mapping = parse_macro_input!(item as register_rules::Input); + register_rules::register_rules(&mapping).into() } #[proc_macro] diff --git a/crates/ruff_macros/src/define_rule_mapping.rs b/crates/ruff_macros/src/register_rules.rs similarity index 95% rename from crates/ruff_macros/src/define_rule_mapping.rs rename to crates/ruff_macros/src/register_rules.rs index 4e675c60df..5b67db2e44 100644 --- a/crates/ruff_macros/src/define_rule_mapping.rs +++ b/crates/ruff_macros/src/register_rules.rs @@ -5,7 +5,7 @@ use quote::quote; use syn::parse::Parse; use syn::{Attribute, Ident, LitStr, Path, Token}; -pub fn define_rule_mapping(mapping: &Mapping) -> proc_macro2::TokenStream { +pub fn register_rules(input: &Input) -> proc_macro2::TokenStream { let mut rule_variants = quote!(); let mut diagnostic_kind_variants = quote!(); let mut rule_message_formats_match_arms = quote!(); @@ -19,7 +19,7 @@ pub fn define_rule_mapping(mapping: &Mapping) -> proc_macro2::TokenStream { let mut diagnostic_kind_commit_match_arms = quote!(); let mut from_impls_for_diagnostic_kind = quote!(); - for (code, path, name, attr) in &mapping.entries { + for (code, path, name, attr) in &input.entries { let code_str = LitStr::new(&code.to_string(), Span::call_site()); rule_variants.extend(quote! { #[doc = #code_str] @@ -55,7 +55,7 @@ pub fn define_rule_mapping(mapping: &Mapping) -> proc_macro2::TokenStream { }); } - let code_to_name: HashMap<_, _> = mapping + let code_to_name: HashMap<_, _> = input .entries .iter() .map(|(code, _, name, _)| (code.to_string(), name)) @@ -64,7 +64,7 @@ pub fn define_rule_mapping(mapping: &Mapping) -> proc_macro2::TokenStream { let rule_code_prefix = super::rule_code_prefix::expand( &Ident::new("Rule", Span::call_site()), &Ident::new("RuleCodePrefix", Span::call_site()), - mapping.entries.iter().map(|(code, .., attr)| (code, attr)), + input.entries.iter().map(|(code, .., attr)| (code, attr)), |code| code_to_name[code], ); @@ -161,11 +161,11 @@ pub fn define_rule_mapping(mapping: &Mapping) -> proc_macro2::TokenStream { } } -pub struct Mapping { +pub struct Input { entries: Vec<(Ident, Path, Ident, Vec)>, } -impl Parse for Mapping { +impl Parse for Input { fn parse(input: syn::parse::ParseStream) -> syn::Result { let mut entries = Vec::new(); while !input.is_empty() { diff --git a/scripts/add_rule.py b/scripts/add_rule.py index f64676d3ca..3c2b2238ee 100755 --- a/scripts/add_rule.py +++ b/scripts/add_rule.py @@ -119,7 +119,7 @@ pub fn {rule_name_snake}(checker: &mut Checker) {{}} if has_written: continue - if line.startswith("ruff_macros::define_rule_mapping!"): + if line.startswith("ruff_macros::register_rules!"): seen_macro = True continue