Respect --unfixable in ISC rules (#7917)
Closes https://github.com/astral-sh/ruff/issues/7909.
This commit is contained in:
@@ -137,7 +137,7 @@ pub(crate) fn check_tokens(
|
||||
flake8_implicit_str_concat::rules::implicit(
|
||||
&mut diagnostics,
|
||||
tokens,
|
||||
&settings.flake8_implicit_str_concat,
|
||||
settings,
|
||||
locator,
|
||||
indexer,
|
||||
);
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
use itertools::Itertools;
|
||||
use ruff_python_parser::lexer::LexResult;
|
||||
use ruff_python_parser::Tok;
|
||||
use ruff_text_size::{Ranged, TextRange};
|
||||
|
||||
use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation};
|
||||
use ruff_macros::{derive_message_formats, violation};
|
||||
use ruff_python_ast::str::{leading_quote, trailing_quote};
|
||||
use ruff_python_index::Indexer;
|
||||
use ruff_python_parser::lexer::LexResult;
|
||||
use ruff_python_parser::Tok;
|
||||
use ruff_source_file::Locator;
|
||||
use ruff_text_size::{Ranged, TextRange};
|
||||
|
||||
use crate::rules::flake8_implicit_str_concat::settings::Settings;
|
||||
use crate::registry::AsRule;
|
||||
use crate::settings::LinterSettings;
|
||||
|
||||
/// ## What it does
|
||||
/// Checks for implicitly concatenated strings on a single line.
|
||||
@@ -94,7 +95,7 @@ impl Violation for MultiLineImplicitStringConcatenation {
|
||||
pub(crate) fn implicit(
|
||||
diagnostics: &mut Vec<Diagnostic>,
|
||||
tokens: &[LexResult],
|
||||
settings: &Settings,
|
||||
settings: &LinterSettings,
|
||||
locator: &Locator,
|
||||
indexer: &Indexer,
|
||||
) {
|
||||
@@ -102,7 +103,9 @@ pub(crate) fn implicit(
|
||||
.iter()
|
||||
.flatten()
|
||||
.filter(|(tok, _)| {
|
||||
!tok.is_comment() && (settings.allow_multiline || !tok.is_non_logical_newline())
|
||||
!tok.is_comment()
|
||||
&& (settings.flake8_implicit_str_concat.allow_multiline
|
||||
|| !tok.is_non_logical_newline())
|
||||
})
|
||||
.tuple_windows()
|
||||
{
|
||||
@@ -134,8 +137,10 @@ pub(crate) fn implicit(
|
||||
TextRange::new(a_range.start(), b_range.end()),
|
||||
);
|
||||
|
||||
if let Some(fix) = concatenate_strings(a_range, b_range, locator) {
|
||||
diagnostic.set_fix(fix);
|
||||
if settings.rules.should_fix(diagnostic.kind.rule()) {
|
||||
if let Some(fix) = concatenate_strings(a_range, b_range, locator) {
|
||||
diagnostic.set_fix(fix);
|
||||
}
|
||||
}
|
||||
|
||||
diagnostics.push(diagnostic);
|
||||
|
||||
Reference in New Issue
Block a user