Format PatternMatchSingleton (#6741)

This commit is contained in:
Victor Hugo Gomes 2023-08-22 03:23:47 -03:00 committed by GitHub
parent fa32cd9b6f
commit 0f9ccfcad9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 63 additions and 8 deletions

View file

@ -141,3 +141,20 @@ match pattern_comments:
no_comments
):
pass
match pattern_singleton:
case (
# leading 1
# leading 2
None # trailing
# trailing own 1
# trailing own 2
):
pass
case (
True # trailing
):
...
case False:
...

View file

@ -1,13 +1,18 @@
use ruff_formatter::{write, Buffer, FormatResult};
use ruff_python_ast::PatternMatchSingleton;
use crate::prelude::*;
use ruff_python_ast::{Constant, PatternMatchSingleton};
use crate::{not_yet_implemented_custom_text, FormatNodeRule, PyFormatter};
use crate::{FormatNodeRule, PyFormatter};
#[derive(Default)]
pub struct FormatPatternMatchSingleton;
impl FormatNodeRule<PatternMatchSingleton> for FormatPatternMatchSingleton {
fn fmt_fields(&self, item: &PatternMatchSingleton, f: &mut PyFormatter) -> FormatResult<()> {
write!(f, [not_yet_implemented_custom_text("None", item)])
match item.value {
Constant::None => text("None").fmt(f),
Constant::Bool(true) => text("True").fmt(f),
Constant::Bool(false) => text("False").fmt(f),
_ => unreachable!(),
}
}
}

View file

@ -292,7 +292,7 @@ match x:
y = 0
# case black_test_patma_232
match x:
@@ -108,37 +108,37 @@
@@ -108,7 +108,7 @@
y = 0
# case black_test_patma_058
match x:
@ -301,8 +301,7 @@ match x:
y = 0
# case black_test_patma_233
match x:
- case False:
+ case None:
@@ -116,29 +116,29 @@
y = 0
# case black_test_patma_078
match x:
@ -460,7 +459,7 @@ match x:
y = 0
# case black_test_patma_233
match x:
case None:
case False:
y = 0
# case black_test_patma_078
match x:

View file

@ -147,6 +147,23 @@ match pattern_comments:
no_comments
):
pass
match pattern_singleton:
case (
# leading 1
# leading 2
None # trailing
# trailing own 1
# trailing own 2
):
pass
case (
True # trailing
):
...
case False:
...
```
## Output
@ -285,6 +302,23 @@ match pattern_comments:
match pattern_comments:
case (x as NOT_YET_IMPLEMENTED_PatternMatchAs):
pass
match pattern_singleton:
case (
# leading 1
# leading 2
None # trailing
# trailing own 1
# trailing own 2
):
pass
case (
True # trailing
):
...
case False:
...
```