fix: Stop moving multiline strings to a new line unless inside brackets (#4289)

Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com>
This commit is contained in:
cobalt 2024-03-22 21:11:01 -05:00 committed by GitHub
parent c9d2635b55
commit 13bd0925eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 2 deletions

View File

@ -16,6 +16,7 @@
- `if` guards in `case` blocks are now wrapped in parentheses when the line is too long. - `if` guards in `case` blocks are now wrapped in parentheses when the line is too long.
(#4269) (#4269)
- Stop moving multiline strings to a new line unless inside brackets (#4289)
### Configuration ### Configuration

View File

@ -858,11 +858,13 @@ def is_line_short_enough( # noqa: C901
return False return False
if leaf.bracket_depth <= max_level_to_update and leaf.type == token.COMMA: if leaf.bracket_depth <= max_level_to_update and leaf.type == token.COMMA:
# Ignore non-nested trailing comma # Inside brackets, ignore trailing comma
# directly after MLS/MLS-containing expression # directly after MLS/MLS-containing expression
ignore_ctxs: List[Optional[LN]] = [None] ignore_ctxs: List[Optional[LN]] = [None]
ignore_ctxs += multiline_string_contexts ignore_ctxs += multiline_string_contexts
if not (leaf.prev_sibling in ignore_ctxs and i == len(line.leaves) - 1): if (line.inside_brackets or leaf.bracket_depth > 0) and (
i != len(line.leaves) - 1 or leaf.prev_sibling not in ignore_ctxs
):
commas[leaf.bracket_depth] += 1 commas[leaf.bracket_depth] += 1
if max_level_to_update != math.inf: if max_level_to_update != math.inf:
max_level_to_update = min(max_level_to_update, leaf.bracket_depth) max_level_to_update = min(max_level_to_update, leaf.bracket_depth)

View File

@ -175,6 +175,13 @@ def dastardly_default_value(
"c" "c"
) )
assert some_var == expected_result, """
test
"""
assert some_var == expected_result, f"""
expected: {expected_result}
actual: {some_var}"""
# output # output
"""cow """cow
say""", say""",
@ -385,3 +392,10 @@ def dastardly_default_value(
) )
this_will_also_become_one_line = "abc" # comment this_will_also_become_one_line = "abc" # comment
assert some_var == expected_result, """
test
"""
assert some_var == expected_result, f"""
expected: {expected_result}
actual: {some_var}"""