Format PatternMatchStar (#6653)

This commit is contained in:
Harutaka Kawamura 2023-08-24 10:58:05 +09:00 committed by GitHub
parent 4889b84338
commit 205d234856
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 194 additions and 92 deletions

View file

@ -206,6 +206,7 @@ fn handle_enclosed_comment<'a>(
}
AnyNodeRef::WithItem(_) => handle_with_item_comment(comment, locator),
AnyNodeRef::PatternMatchAs(_) => handle_pattern_match_as_comment(comment, locator),
AnyNodeRef::PatternMatchStar(_) => handle_pattern_match_star_comment(comment),
AnyNodeRef::StmtFunctionDef(_) => handle_leading_function_with_decorators_comment(comment),
AnyNodeRef::StmtClassDef(class_def) => {
handle_leading_class_with_decorators_comment(comment, class_def)
@ -1187,6 +1188,20 @@ fn handle_pattern_match_as_comment<'a>(
}
}
/// Handles dangling comments between the `*` token and identifier of a pattern match star:
///
/// ```python
/// case [
/// ...,
/// * # dangling end of line comment
/// # dangling end of line comment
/// rest,
/// ]: ...
/// ```
fn handle_pattern_match_star_comment(comment: DecoratedComment) -> CommentPlacement {
CommentPlacement::dangling(comment.enclosing_node(), comment)
}
/// Handles comments around the `:=` token in a named expression (walrus operator).
///
/// For example, here, `# 1` and `# 2` will be marked as dangling comments on the named expression,