mirror of
https://github.com/astral-sh/ruff
synced 2026-01-07 14:44:17 -05:00
Avoid detecting continuations at non-start-of-line (#6219)
## Summary Previously, given: ```python a = \ 5; ``` When detecting continuations starting at the offset of the `;`, we'd flag the previous line as a continuation. We should only flag a continuation if there isn't leading content prior to the offset. Closes https://github.com/astral-sh/ruff/issues/6214
This commit is contained in:
@@ -228,8 +228,18 @@ impl Indexer {
|
||||
offset: TextSize,
|
||||
locator: &Locator,
|
||||
) -> Option<TextSize> {
|
||||
// Find the first preceding continuation.
|
||||
let mut continuation = self.find_continuation(locator.line_start(offset), locator)?;
|
||||
// Find the first preceding continuation. If the offset isn't the first non-whitespace
|
||||
// character on the line, then we can't have a continuation.
|
||||
let previous_line_end = locator.line_start(offset);
|
||||
if !locator
|
||||
.slice(TextRange::new(previous_line_end, offset))
|
||||
.chars()
|
||||
.all(is_python_whitespace)
|
||||
{
|
||||
return None;
|
||||
}
|
||||
|
||||
let mut continuation = self.find_continuation(previous_line_end, locator)?;
|
||||
|
||||
// Continue searching for continuations, in the unlikely event that we have multiple
|
||||
// continuations in a row.
|
||||
|
||||
Reference in New Issue
Block a user