mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-02 18:02:23 +00:00
Move flake8-implicit-str-concat violations (#2535)
This commit is contained in:
parent
ae20a721a1
commit
3336dd63f4
3 changed files with 40 additions and 39 deletions
|
@ -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,
|
||||
|
|
|
@ -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),
|
||||
));
|
||||
}
|
||||
|
|
|
@ -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!(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue