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
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
```