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 # comment
): ):
pass 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>( fn format_case<'a>(
try_statement: &StmtTry, try_statement: &'a StmtTry,
kind: CaseKind, kind: CaseKind,
previous_node: Option<&Stmt>, previous_node: Option<&'a Stmt>,
dangling_comments: &'a [SourceComment], dangling_comments: &'a [SourceComment],
f: &mut PyFormatter, f: &mut PyFormatter,
) -> FormatResult<(Option<&'a Stmt>, &'a [SourceComment])> { ) -> FormatResult<(Option<&'a Stmt>, &'a [SourceComment])> {
@ -141,9 +141,9 @@ fn format_case<'a>(
clause_body(body, trailing_case_comments), clause_body(body, trailing_case_comments),
] ]
)?; )?;
(None, rest) (Some(last), rest)
} else { } else {
(None, dangling_comments) (previous_node, dangling_comments)
}) })
} }

View file

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