From 3336dd63f47f4210cf44cb25cb154c201396f560 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Fri, 3 Feb 2023 15:24:06 +0200 Subject: [PATCH] Move flake8-implicit-str-concat violations (#2535) --- src/registry.rs | 6 +-- src/rules/flake8_implicit_str_concat/rules.rs | 41 +++++++++++++++++-- src/violations.rs | 32 --------------- 3 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/registry.rs b/src/registry.rs index b6a70d9b07..bd77faae16 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -163,9 +163,9 @@ ruff_macros::define_rule_mapping!( RET507 => rules::flake8_return::rules::SuperfluousElseContinue, RET508 => rules::flake8_return::rules::SuperfluousElseBreak, // flake8-implicit-str-concat - ISC001 => violations::SingleLineImplicitStringConcatenation, - ISC002 => violations::MultiLineImplicitStringConcatenation, - ISC003 => violations::ExplicitStringConcatenation, + ISC001 => rules::flake8_implicit_str_concat::rules::SingleLineImplicitStringConcatenation, + ISC002 => rules::flake8_implicit_str_concat::rules::MultiLineImplicitStringConcatenation, + ISC003 => rules::flake8_implicit_str_concat::rules::ExplicitStringConcatenation, // flake8-print T201 => violations::PrintFound, T203 => violations::PPrintFound, diff --git a/src/rules/flake8_implicit_str_concat/rules.rs b/src/rules/flake8_implicit_str_concat/rules.rs index f2ca6239a3..6dce257b86 100644 --- a/src/rules/flake8_implicit_str_concat/rules.rs +++ b/src/rules/flake8_implicit_str_concat/rules.rs @@ -2,10 +2,43 @@ use itertools::Itertools; use rustpython_ast::{Constant, Expr, ExprKind, Operator}; use rustpython_parser::lexer::{LexResult, Tok}; +use ruff_macros::derive_message_formats; + use crate::ast::types::Range; +use crate::define_violation; use crate::registry::Diagnostic; use crate::rules::flake8_implicit_str_concat::settings::Settings; -use crate::violations; +use crate::violation::Violation; + +define_violation!( + pub struct SingleLineImplicitStringConcatenation; +); +impl Violation for SingleLineImplicitStringConcatenation { + #[derive_message_formats] + fn message(&self) -> String { + format!("Implicitly concatenated string literals on one line") + } +} + +define_violation!( + pub struct MultiLineImplicitStringConcatenation; +); +impl Violation for MultiLineImplicitStringConcatenation { + #[derive_message_formats] + fn message(&self) -> String { + format!("Implicitly concatenated string literals over multiple lines") + } +} + +define_violation!( + pub struct ExplicitStringConcatenation; +); +impl Violation for ExplicitStringConcatenation { + #[derive_message_formats] + fn message(&self) -> String { + format!("Explicitly concatenated string should be implicitly concatenated") + } +} /// ISC001, ISC002 pub fn implicit(tokens: &[LexResult], settings: &Settings) -> Vec { @@ -22,7 +55,7 @@ pub fn implicit(tokens: &[LexResult], settings: &Settings) -> Vec { if matches!(a_tok, Tok::String { .. }) && matches!(b_tok, Tok::String { .. }) { if a_end.row() == b_start.row() { diagnostics.push(Diagnostic::new( - violations::SingleLineImplicitStringConcatenation, + SingleLineImplicitStringConcatenation, Range { location: *a_start, end_location: *b_end, @@ -30,7 +63,7 @@ pub fn implicit(tokens: &[LexResult], settings: &Settings) -> Vec { )); } else { diagnostics.push(Diagnostic::new( - violations::MultiLineImplicitStringConcatenation, + MultiLineImplicitStringConcatenation, Range { location: *a_start, end_location: *b_end, @@ -62,7 +95,7 @@ pub fn explicit(expr: &Expr) -> Option { } ) { return Some(Diagnostic::new( - violations::ExplicitStringConcatenation, + ExplicitStringConcatenation, Range::from_located(expr), )); } diff --git a/src/violations.rs b/src/violations.rs index d0c9f06c9a..442915328e 100644 --- a/src/violations.rs +++ b/src/violations.rs @@ -22,38 +22,6 @@ impl Violation for FunctionIsTooComplex { } } -// flake8-implicit-str-concat - -define_violation!( - pub struct SingleLineImplicitStringConcatenation; -); -impl Violation for SingleLineImplicitStringConcatenation { - #[derive_message_formats] - fn message(&self) -> String { - format!("Implicitly concatenated string literals on one line") - } -} - -define_violation!( - pub struct MultiLineImplicitStringConcatenation; -); -impl Violation for MultiLineImplicitStringConcatenation { - #[derive_message_formats] - fn message(&self) -> String { - format!("Implicitly concatenated string literals over multiple lines") - } -} - -define_violation!( - pub struct ExplicitStringConcatenation; -); -impl Violation for ExplicitStringConcatenation { - #[derive_message_formats] - fn message(&self) -> String { - format!("Explicitly concatenated string should be implicitly concatenated") - } -} - // flake8-print define_violation!(