mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-27 04:19:43 +00:00
Fix invalid E231 error with f-strings (#8369)
## Summary We were considering the `{` within an f-string to be a left brace, which caused the "space-after-colon" rule to trigger incorrectly. Closes https://github.com/astral-sh/ruff/issues/8299.
This commit is contained in:
parent
7323c12eee
commit
c674db6e51
3 changed files with 29 additions and 3 deletions
|
@ -40,5 +40,11 @@ f"{(a:=1)}"
|
|||
f"{(lambda x:x)}"
|
||||
f"normal{f"{a:.3f}"}normal"
|
||||
|
||||
#: Okay
|
||||
snapshot.file_uri[len(f's3://{self.s3_bucket_name}/'):]
|
||||
|
||||
#: E231
|
||||
{len(f's3://{self.s3_bucket_name}/'):1}
|
||||
|
||||
#: Okay
|
||||
a = (1,
|
||||
|
|
|
@ -64,14 +64,14 @@ pub(crate) fn missing_whitespace(line: &LogicalLine, context: &mut LogicalLinesC
|
|||
match kind {
|
||||
TokenKind::FStringStart => fstrings += 1,
|
||||
TokenKind::FStringEnd => fstrings = fstrings.saturating_sub(1),
|
||||
TokenKind::Lsqb => {
|
||||
TokenKind::Lsqb if fstrings == 0 => {
|
||||
open_parentheses = open_parentheses.saturating_add(1);
|
||||
prev_lsqb = token.start();
|
||||
}
|
||||
TokenKind::Rsqb => {
|
||||
TokenKind::Rsqb if fstrings == 0 => {
|
||||
open_parentheses = open_parentheses.saturating_sub(1);
|
||||
}
|
||||
TokenKind::Lbrace => {
|
||||
TokenKind::Lbrace if fstrings == 0 => {
|
||||
prev_lbrace = token.start();
|
||||
}
|
||||
TokenKind::Colon if fstrings > 0 => {
|
||||
|
|
|
@ -121,4 +121,24 @@ E23.py:33:6: E231 [*] Missing whitespace after ','
|
|||
35 35 | # Okay because it's hard to differentiate between the usages of a colon in a f-string
|
||||
36 36 | f"{a:=1}"
|
||||
|
||||
E23.py:47:37: E231 [*] Missing whitespace after ':'
|
||||
|
|
||||
46 | #: E231
|
||||
47 | {len(f's3://{self.s3_bucket_name}/'):1}
|
||||
| ^ E231
|
||||
48 |
|
||||
49 | #: Okay
|
||||
|
|
||||
= help: Add missing whitespace
|
||||
|
||||
ℹ Fix
|
||||
44 44 | snapshot.file_uri[len(f's3://{self.s3_bucket_name}/'):]
|
||||
45 45 |
|
||||
46 46 | #: E231
|
||||
47 |-{len(f's3://{self.s3_bucket_name}/'):1}
|
||||
47 |+{len(f's3://{self.s3_bucket_name}/'): 1}
|
||||
48 48 |
|
||||
49 49 | #: Okay
|
||||
50 50 | a = (1,
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue