From c3dd1b0e3c0c89782fae3d392c7d58793bf0451b Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Sat, 21 Jan 2023 06:07:33 +0100 Subject: [PATCH] refactor: Rename ParseCode trait to RuleNamespace ParseCode was a fitting name since the trait only contained a single parse_code method ... since we now however want to introduce an additional `prefixes` method RuleNamespace is more fitting. --- ruff_cli/src/commands.rs | 2 +- ruff_macros/src/lib.rs | 8 ++++---- ruff_macros/src/{parse_code.rs => rule_namespace.rs} | 2 +- src/registry.rs | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) rename ruff_macros/src/{parse_code.rs => rule_namespace.rs} (96%) diff --git a/ruff_cli/src/commands.rs b/ruff_cli/src/commands.rs index 08d28d944aa340..65e605735da42f 100644 --- a/ruff_cli/src/commands.rs +++ b/ruff_cli/src/commands.rs @@ -15,7 +15,7 @@ use ruff::cache::CACHE_DIR_NAME; use ruff::linter::add_noqa_to_path; use ruff::logging::LogLevel; use ruff::message::{Location, Message}; -use ruff::registry::{Linter, ParseCode, Rule}; +use ruff::registry::{Linter, Rule, RuleNamespace}; use ruff::resolver::{FileDiscovery, PyprojectDiscovery}; use ruff::settings::flags; use ruff::settings::types::SerializationFormat; diff --git a/ruff_macros/src/lib.rs b/ruff_macros/src/lib.rs index 2aa086b3165b32..af526d3eaa53b8 100644 --- a/ruff_macros/src/lib.rs +++ b/ruff_macros/src/lib.rs @@ -19,8 +19,8 @@ use syn::{parse_macro_input, DeriveInput, ItemFn}; mod config; mod define_rule_mapping; mod derive_message_formats; -mod parse_code; mod rule_code_prefix; +mod rule_namespace; #[proc_macro_derive(ConfigurationOptions, attributes(option, doc, option_group))] pub fn derive_config(input: proc_macro::TokenStream) -> proc_macro::TokenStream { @@ -37,11 +37,11 @@ pub fn define_rule_mapping(item: proc_macro::TokenStream) -> proc_macro::TokenSt define_rule_mapping::define_rule_mapping(&mapping).into() } -#[proc_macro_derive(ParseCode, attributes(prefix))] -pub fn derive_rule_code_prefix(input: proc_macro::TokenStream) -> proc_macro::TokenStream { +#[proc_macro_derive(RuleNamespace, attributes(prefix))] +pub fn derive_rule_namespace(input: proc_macro::TokenStream) -> proc_macro::TokenStream { let input = parse_macro_input!(input as DeriveInput); - parse_code::derive_impl(input) + rule_namespace::derive_impl(input) .unwrap_or_else(syn::Error::into_compile_error) .into() } diff --git a/ruff_macros/src/parse_code.rs b/ruff_macros/src/rule_namespace.rs similarity index 96% rename from ruff_macros/src/parse_code.rs rename to ruff_macros/src/rule_namespace.rs index 50c1f8058c7709..c6b1002eb1dbd1 100644 --- a/ruff_macros/src/parse_code.rs +++ b/ruff_macros/src/rule_namespace.rs @@ -44,7 +44,7 @@ pub fn derive_impl(input: DeriveInput) -> syn::Result } Ok(quote! { - impl crate::registry::ParseCode for #ident { + impl crate::registry::RuleNamespace for #ident { fn parse_code(code: &str) -> Option<(Self, &str)> { #if_statements None diff --git a/src/registry.rs b/src/registry.rs index 673e79c56551c1..babdb819191cc5 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -2,7 +2,7 @@ use itertools::Itertools; use once_cell::sync::Lazy; -use ruff_macros::ParseCode; +use ruff_macros::RuleNamespace; use rustc_hash::FxHashMap; use rustpython_parser::ast::Location; use serde::{Deserialize, Serialize}; @@ -439,7 +439,7 @@ ruff_macros::define_rule_mapping!( RUF100 => violations::UnusedNOQA, ); -#[derive(EnumIter, Debug, PartialEq, Eq, ParseCode)] +#[derive(EnumIter, Debug, PartialEq, Eq, RuleNamespace)] pub enum Linter { #[prefix = "F"] Pyflakes, @@ -520,7 +520,7 @@ pub enum Linter { Ruff, } -pub trait ParseCode: Sized { +pub trait RuleNamespace: Sized { fn parse_code(code: &str) -> Option<(Self, &str)>; } @@ -742,7 +742,7 @@ pub static CODE_REDIRECTS: Lazy> = Lazy::new(|| { mod tests { use strum::IntoEnumIterator; - use super::{Linter, ParseCode, Rule}; + use super::{Linter, Rule, RuleNamespace}; #[test] fn check_code_serialization() {