Skip to content

Commit

Permalink
Fix handling of trailing target comment
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaReiser committed Dec 8, 2023
1 parent a224f19 commit e3eccf3
Show file tree
Hide file tree
Showing 3 changed files with 183 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,12 @@ def main() -> None:
db_request.POST["name"]
)
)[0]


c = b[dddddd, aaaaaa] = (
a[
aaaaaaa,
bbbbbbbbbbbbbbbbbbb
]
# comment
) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2 changes: 1 addition & 1 deletion crates/ruff_python_formatter/src/statement/stmt_assign.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ impl Format<PyFormatContext<'_>> for FormatTargets<'_> {
if let Some((first, rest)) = self.targets.split_first() {
let comments = f.context().comments();

let parenthesize = if comments.has_leading(first) {
let parenthesize = if comments.has_leading(first) || comments.has_trailing(first) {
ParenthesizeTarget::Always
} else if has_own_parentheses(first, f.context()).is_some() {
ParenthesizeTarget::Never
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
assertion_line: 201
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/statement/assign.py
---
## Input
```python
# break left hand side
a1akjdshflkjahdslkfjlasfdahjlfds = bakjdshflkjahdslkfjlasfdahjlfds = cakjdshflkjahdslkfjlasfdahjlfds = kjaödkjaföjfahlfdalfhaöfaöfhaöfha = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = 3

# join left hand side
a2 = (
b2
) = 2

# Break the last element
a = asdf = fjhalsdljfalflaflapamsakjsdhflakjdslfjhalsdljfalflaflapamsakjsdhflakjdslfjhalsdljfal = 1

aa = [
bakjdshflkjahdslkfjlasfdahjlfds
] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = [

] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = [
# foo
] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = ([
]) = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aaaa = ( # trailing
# comment
bbbbb) = cccccccccccccccc = 3

x = ( # comment
[ # comment
a,
b,
c,
]
) = 1


x = (
# comment
[
a,
b,
c,
]
) = 1


x = (
[ # comment
a,
b,
c,
]
) = 1

def main() -> None:
if True:
some_very_long_variable_name_abcdefghijk = some_very_long_variable_name_abcdefghijk[
some_very_long_variable_name_abcdefghijk.some_very_long_attribute_name
== "This is a very long string abcdefghijk"
]

organization_application = (
organization_service.get_organization_applications_by_name(
db_request.POST["name"]
)
)[0]


c = b[dddddd, aaaaaa] = (
a[
aaaaaaa,
bbbbbbbbbbbbbbbbbbb
]
# comment
) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

## Output
```python
# break left hand side
a1akjdshflkjahdslkfjlasfdahjlfds = (
bakjdshflkjahdslkfjlasfdahjlfds
) = (
cakjdshflkjahdslkfjlasfdahjlfds
) = kjaödkjaföjfahlfdalfhaöfaöfhaöfha = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = 3

# join left hand side
a2 = b2 = 2

# Break the last element
a = (
asdf
) = (
fjhalsdljfalflaflapamsakjsdhflakjdslfjhalsdljfalflaflapamsakjsdhflakjdslfjhalsdljfal
) = 1

aa = [
bakjdshflkjahdslkfjlasfdahjlfds
] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = [] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = [
# foo
] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aa = [] = dddd = ddd = fkjaödkjaföjfahlfdalfhaöfaöfhaöfha = g = [3]

aaaa = ( # trailing
# comment
bbbbb
) = cccccccccccccccc = 3

x = ( # comment
[ # comment
a,
b,
c,
]
) = 1


x = (
# comment
[
a,
b,
c,
]
) = 1


x = [ # comment
a,
b,
c,
] = 1


def main() -> None:
if True:
some_very_long_variable_name_abcdefghijk = (
some_very_long_variable_name_abcdefghijk[
some_very_long_variable_name_abcdefghijk.some_very_long_attribute_name
== "This is a very long string abcdefghijk"
]
)

organization_application = (
organization_service.get_organization_applications_by_name(
db_request.POST["name"]
)
)[0]


c = b[dddddd, aaaaaa] = (
a[aaaaaaa, bbbbbbbbbbbbbbbbbbb]
# comment
) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```



0 comments on commit e3eccf3

Please sign in to comment.