]> git.madduck.net Git - etc/vim.git/blob - tests/data/py_39/remove_with_brackets.py

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Avoid removing whitespace for walrus operators within subscripts (#3823)
[etc/vim.git] / tests / data / py_39 / remove_with_brackets.py
1 with (open("bla.txt")):
2     pass
3
4 with (open("bla.txt")), (open("bla.txt")):
5     pass
6
7 with (open("bla.txt") as f):
8     pass
9
10 # Remove brackets within alias expression
11 with (open("bla.txt")) as f:
12     pass
13
14 # Remove brackets around one-line context managers
15 with (open("bla.txt") as f, (open("x"))):
16     pass
17
18 with ((open("bla.txt")) as f, open("x")):
19     pass
20
21 with (CtxManager1() as example1, CtxManager2() as example2):
22     ...
23
24 # Brackets remain when using magic comma
25 with (CtxManager1() as example1, CtxManager2() as example2,):
26     ...
27
28 # Brackets remain for multi-line context managers
29 with (CtxManager1() as example1, CtxManager2() as example2, CtxManager2() as example2, CtxManager2() as example2, CtxManager2() as example2):
30     ...
31
32 # Don't touch assignment expressions
33 with (y := open("./test.py")) as f:
34     pass
35
36 # Deeply nested examples
37 # N.B. Multiple brackets are only possible
38 # around the context manager itself.
39 # Only one brackets is allowed around the
40 # alias expression or comma-delimited context managers.
41 with (((open("bla.txt")))):
42     pass
43
44 with (((open("bla.txt")))), (((open("bla.txt")))):
45     pass
46
47 with (((open("bla.txt")))) as f:
48     pass
49
50 with ((((open("bla.txt")))) as f):
51     pass
52
53 with ((((CtxManager1()))) as example1, (((CtxManager2()))) as example2):
54     ...
55
56 # output
57 with open("bla.txt"):
58     pass
59
60 with open("bla.txt"), open("bla.txt"):
61     pass
62
63 with open("bla.txt") as f:
64     pass
65
66 # Remove brackets within alias expression
67 with open("bla.txt") as f:
68     pass
69
70 # Remove brackets around one-line context managers
71 with open("bla.txt") as f, open("x"):
72     pass
73
74 with open("bla.txt") as f, open("x"):
75     pass
76
77 with CtxManager1() as example1, CtxManager2() as example2:
78     ...
79
80 # Brackets remain when using magic comma
81 with (
82     CtxManager1() as example1,
83     CtxManager2() as example2,
84 ):
85     ...
86
87 # Brackets remain for multi-line context managers
88 with (
89     CtxManager1() as example1,
90     CtxManager2() as example2,
91     CtxManager2() as example2,
92     CtxManager2() as example2,
93     CtxManager2() as example2,
94 ):
95     ...
96
97 # Don't touch assignment expressions
98 with (y := open("./test.py")) as f:
99     pass
100
101 # Deeply nested examples
102 # N.B. Multiple brackets are only possible
103 # around the context manager itself.
104 # Only one brackets is allowed around the
105 # alias expression or comma-delimited context managers.
106 with open("bla.txt"):
107     pass
108
109 with open("bla.txt"), open("bla.txt"):
110     pass
111
112 with open("bla.txt") as f:
113     pass
114
115 with open("bla.txt") as f:
116     pass
117
118 with CtxManager1() as example1, CtxManager2() as example2:
119     ...