Move flake8-implicit-str-concat violations (#2535)

This commit is contained in:
Aarni Koskela 2023-02-03 15:24:06 +02:00 committed by GitHub
parent ae20a721a1
commit 3336dd63f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 39 deletions

View file

@ -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,

View file

@ -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<Diagnostic> {
@ -22,7 +55,7 @@ pub fn implicit(tokens: &[LexResult], settings: &Settings) -> Vec<Diagnostic> {
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<Diagnostic> {
));
} 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<Diagnostic> {
}
) {
return Some(Diagnostic::new(
violations::ExplicitStringConcatenation,
ExplicitStringConcatenation,
Range::from_located(expr),
));
}

View file

@ -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!(