Preserve empty lines between try clause headers (#6759)

This commit is contained in:
Micha Reiser 2023-08-22 11:50:28 +02:00 committed by GitHub
parent ba4c27598a
commit fec6fc2fab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 4 deletions

View file

@ -146,3 +146,23 @@ except (
# comment
):
pass
try:
pass
finally:
pass
try:
pass
except ZeroDivisonError:
pass
else:
pass
finally:
pass

View file

@ -105,9 +105,9 @@ impl FormatNodeRule<StmtTry> for FormatStmtTry {
}
fn format_case<'a>(
try_statement: &StmtTry,
try_statement: &'a StmtTry,
kind: CaseKind,
previous_node: Option<&Stmt>,
previous_node: Option<&'a Stmt>,
dangling_comments: &'a [SourceComment],
f: &mut PyFormatter,
) -> FormatResult<(Option<&'a Stmt>, &'a [SourceComment])> {
@ -141,9 +141,9 @@ fn format_case<'a>(
clause_body(body, trailing_case_comments),
]
)?;
(None, rest)
(Some(last), rest)
} else {
(None, dangling_comments)
(previous_node, dangling_comments)
})
}

View file

@ -152,6 +152,26 @@ except (
# comment
):
pass
try:
pass
finally:
pass
try:
pass
except ZeroDivisonError:
pass
else:
pass
finally:
pass
```
## Output
@ -320,6 +340,26 @@ except (
# comment
):
pass
try:
pass
finally:
pass
try:
pass
except ZeroDivisonError:
pass
else:
pass
finally:
pass
```