mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-03 18:28:24 +00:00
Do not consider f-strings with escaped newlines as multiline (#14624)
## Summary This PR fixes a bug in the f-string formatting to not consider the escaped newlines for `is_multiline`. This is done by checking if the f-string is triple-quoted or not similar to normal string literals. This is not required to be gated behind preview because the logic change for `is_multiline` was added in https://github.com/astral-sh/ruff/pull/14454. ## Test Plan Add a test case which formats differently on `main`: https://play.ruff.rs/ea3c55c2-f0fe-474e-b6b8-e3365e0ede5e
This commit is contained in:
parent
4cd2b9926e
commit
f96fa6b0e2
5 changed files with 124 additions and 5 deletions
|
@ -424,3 +424,10 @@ xxxxxxxxxxxxxxxx = f"aaaaaaaaaaaaaaaaaaaaa {
|
|||
expression } bbbbbbbbbbbbbbbbbbbbbbbb" + (
|
||||
yyyyyyyyyyyyyy + zzzzzzzzzzz
|
||||
)
|
||||
|
||||
# This is not a multiline f-string, but the expression is too long so it should be
|
||||
# wrapped in parentheses.
|
||||
f"hellooooooooooooooooooooooo \
|
||||
worlddddddddddddddddddddddddddddddddd" + (aaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbb)
|
||||
aaaaaaaaaaa = f"hellooooooooooooooooooooooo \
|
||||
worlddddddddddddddddddddddddddddddddd" + (aaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbb)
|
||||
|
|
|
@ -326,3 +326,24 @@ assert False, +"Implicit concatenated string" "uses {} layout on {} format".form
|
|||
"a" f'{1=: "abcd \'\'}'
|
||||
f'{1=: "abcd \'\'}' "a"
|
||||
f'{1=: "abcd \'\'}' f"{1=: 'abcd \"\"}"
|
||||
|
||||
# These strings contains escaped newline characters and should be joined, they are
|
||||
# not multiline strings.
|
||||
f"aaaaaaaaaaaaaaaa \
|
||||
bbbbbbbbbbb" "cccccccccccccc \
|
||||
ddddddddddddddddddd"
|
||||
b"aaaaaaaaaaaaaaaa \
|
||||
bbbbbbbbbbb" b"cccccccccccccc \
|
||||
ddddddddddddddddddd"
|
||||
f"aaaaaaaaaaaaaaaa \
|
||||
bbbbbbbbbbb" "cccccccccccccc \
|
||||
ddddddddddddddddddd" # comment 1
|
||||
(f"aaaaaaaaaaaaaaaa \
|
||||
bbbbbbbbbbb" "cccccccccccccc \
|
||||
ddddddddddddddddddd") # comment 2
|
||||
(
|
||||
f"aaaaaaaaaaaaaaaa \
|
||||
bbbbbbbbbbb" # comment 3
|
||||
"cccccccccccccc \
|
||||
ddddddddddddddddddd" # comment 4
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue