PY-48009 Support formatting of PEP-634 match statements

GitOrigin-RevId: d4755af5ca19efef70db6c4a043135182bc0da04
This commit is contained in:
Mikhail Golubev
2021-06-16 11:53:25 +03:00
committed by intellij-monorepo-bot
parent da7f965b5a
commit ccf574bad9
52 changed files with 553 additions and 16 deletions

View File

@@ -1,5 +1,5 @@
match x:
case Class(
<caret>
<caret>
):
pass

View File

@@ -1,4 +1,4 @@
match x:
case {'foo': 1,
<caret>'bar': 2}
<caret>'bar': 2}
pass

View File

@@ -1,4 +1,4 @@
match x:
case [1,
<caret>2]:
<caret>2]:
pass

View File

@@ -0,0 +1,17 @@
match x:
case 1 \
| 2 \
| 3:
pass
case 1 | \
2 | \
3:
pass
case (1
| 2
| 3):
pass
case (1 |
2 |
3):
pass

View File

@@ -0,0 +1,12 @@
match x:
case (1 |
2
| 3,
[1
| 2,
3,],
Class(1
| 2,
3)
):
pass

View File

@@ -0,0 +1,12 @@
match x:
case (1 |
2
| 3,
[1
| 2,
3, ],
Class(1
| 2,
3)
):
pass

View File

@@ -0,0 +1,17 @@
match x:
case 1 \
| 2 \
| 3:
pass
case 1 | \
2 | \
3:
pass
case (1
| 2
| 3):
pass
case (1 |
2 |
3):
pass

View File

@@ -0,0 +1,5 @@
match x:
case Class(1,
foo=2,
bar=3):
pass

View File

@@ -0,0 +1,5 @@
match x:
case Class(1,
foo=2,
bar=3):
pass

View File

@@ -0,0 +1,7 @@
match x:
case Class(
1,
foo=2,
bar=3
):
pass

View File

@@ -0,0 +1,7 @@
match x:
case Class(
1,
foo=2,
bar=3
):
pass

View File

@@ -0,0 +1,7 @@
match x:
case Class(
1,
foo=2,
bar=3
):
pass

View File

@@ -0,0 +1,7 @@
match x:
case Class(
1,
foo=2,
bar=3
):
pass

View File

@@ -0,0 +1,7 @@
match x:
case {
'foo': 1,
'bar': 2,
'baz': 3
}:
pass

View File

@@ -0,0 +1,7 @@
match x:
case {
'foo': 1,
'bar': 2,
'baz': 3
}:
pass

View File

@@ -0,0 +1,13 @@
match x:
case [
1,
2,
3
]:
pass
case (
1,
2,
3
):
pass

View File

@@ -0,0 +1,13 @@
match x:
case [
1,
2,
3
]:
pass
case (
1,
2,
3
):
pass

View File

@@ -0,0 +1,5 @@
match x:
case {'foo': 1,
'bar': 2,
'baz': 3}:
pass

View File

@@ -0,0 +1,5 @@
match x:
case {'foo': 1,
'bar': 2,
'baz': 3}:
pass

View File

@@ -0,0 +1,6 @@
match x:
case [(1,
2),
[3,
4]
]

View File

@@ -0,0 +1,6 @@
match x:
case [(1,
2),
[3,
4]
]

View File

@@ -0,0 +1,9 @@
match x:
case [1,
2,
3]:
pass
case (1,
2,
3):
pass

View File

@@ -0,0 +1,9 @@
match x:
case [1,
2,
3]:
pass
case (1,
2,
3):
pass

View File

@@ -0,0 +1,7 @@
match x:
case {
'foo': 1,
'bar': 2,
'baz': 3
}:
pass

View File

@@ -0,0 +1,7 @@
match x:
case {
'foo': 1,
'bar': 2,
'baz': 3
}:
pass

View File

@@ -0,0 +1,13 @@
match x:
case [
1,
2,
3
]:
pass
case (
1,
2,
3
):
pass

View File

@@ -0,0 +1,13 @@
match x:
case [
1,
2,
3
]:
pass
case (
1,
2,
3
):
pass

View File

@@ -0,0 +1,7 @@
match x:
case (1, * xs):
pass
case [1, * _]:
pass
case {'foo': 1, ** others}:
pass

View File

@@ -0,0 +1,7 @@
match x:
case (1, *xs):
pass
case [1, *_]:
pass
case {'foo': 1, **others}:
pass

View File

@@ -0,0 +1,3 @@
match x:
case 42:
pass

View File

@@ -0,0 +1,3 @@
match x:
case 42:
pass

View File

@@ -0,0 +1,3 @@
match x:
case 42 as y:
pass

View File

@@ -0,0 +1,3 @@
match x:
case 42 as y:
pass

View File

@@ -0,0 +1,3 @@
match x:
case Class(foo = 1, bar=2):
pass

View File

@@ -0,0 +1,3 @@
match x:
case Class(foo=1, bar=2):
pass

View File

@@ -0,0 +1,3 @@
match x:
case {'foo': 1, 'bar': 2}:
pass

View File

@@ -0,0 +1,3 @@
match x :
case {'foo' :1, 'bar' :2} :
pass

View File

@@ -0,0 +1,9 @@
match x:
case [1, 2,]:
pass
case (1, 2,):
pass
case {'foo': 1, 'bar': 2,}:
pass
case Class(foo=1, bar=2,):
pass

View File

@@ -0,0 +1,9 @@
match x:
case [1 ,2 ,]:
pass
case (1 ,2 ,):
pass
case {'foo': 1 ,'bar': 2 ,}:
pass
case Class(foo=1 ,bar=2 ,):
pass

View File

@@ -0,0 +1,9 @@
match x:
case Class():
pass
case Class(foo=1):
pass
case Class(foo=1, bar=2):
pass
case Class(foo=1, bar=2,):
pass

View File

@@ -0,0 +1,9 @@
match x:
case Class ():
pass
case Class (foo=1):
pass
case Class (foo=1, bar=2):
pass
case Class (foo=1, bar=2, ):
pass

View File

@@ -0,0 +1,10 @@
match x:
case {}:
pass
case {'foo': 1}:
pass
case {'foo': 1, 'bar': 2}:
pass
case {'foo': 1, 'bar': 2,}:
pass

View File

@@ -0,0 +1,9 @@
match x:
case { }:
pass
case { 'foo': 1 }:
pass
case { 'foo': 1, 'bar': 2 }:
pass
case { 'foo': 1, 'bar': 2, }:
pass

View File

@@ -0,0 +1,17 @@
match x:
case []:
pass
case [1]:
pass
case [1, 2]:
pass
case [1, 2,]:
pass
case ():
pass
case (1,):
pass
case (1, 2):
pass
case (1, 2,):
pass

View File

@@ -0,0 +1,17 @@
match x:
case [ ]:
pass
case [ 1 ]:
pass
case [ 1, 2 ]:
pass
case [ 1, 2, ]:
pass
case ():
pass
case (1, ):
pass
case (1, 2):
pass
case (1, 2, ):
pass

View File

@@ -0,0 +1,9 @@
match x:
case Class():
pass
case Class(foo=1):
pass
case Class(foo=1, bar=2):
pass
case Class(foo=1, bar=2,):
pass

View File

@@ -0,0 +1,9 @@
match x:
case Class( ):
pass
case Class( foo=1 ):
pass
case Class( foo=1, bar=2 ):
pass
case Class( foo=1, bar=2, ):
pass

View File

@@ -0,0 +1,13 @@
match x:
case ('foo'
'bar'):
pass
case ('foo'
'bar',):
pass
case ['foo'
'bar']:
pass
case Class('foo'
'bar'):
pass

View File

@@ -0,0 +1,13 @@
match x:
case ('foo'
'bar'):
pass
case ('foo'
'bar', ):
pass
case ['foo'
'bar']:
pass
case Class('foo'
'bar'):
pass