]> git.madduck.net Git - etc/vim.git/blob - tests/expression.diff

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:

Generalize star expression handling
[etc/vim.git] / tests / expression.diff
1 --- <stdin>  (original)
2 +++ <stdin>  (formatted)
3 @@ -1,8 +1,8 @@
4  ...
5 -'some_string'
6 -b'\\xa3'
7 +"some_string"
8 +b"\\xa3"
9  Name
10  None
11  True
12  False
13  1
14 @@ -29,59 +29,73 @@
15  ~great
16  +value
17  -1
18  ~int and not v1 ^ 123 + v2 | True
19  (~int) and (not ((v1 ^ (123 + v2)) | True))
20 -flags & ~ select.EPOLLIN and waiters.write_task is not None
21 +flags & ~select.EPOLLIN and waiters.write_task is not None
22  lambda arg: None
23  lambda a=True: a
24  lambda a, b, c=True: a
25 -lambda a, b, c=True, *, d=(1 << v2), e='str': a
26 -lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
27 +lambda a, b, c=True, *, d=(1 << v2), e="str": a
28 +lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
29  1 if True else 2
30  str or None if True else str or bytes or None
31  (str or None) if True else (str or bytes or None)
32  str or None if (1 if True else 2) else str or bytes or None
33  (str or None) if (1 if True else 2) else (str or bytes or None)
34 -{'2.7': dead, '3.7': (long_live or die_hard)}
35 -{'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
36 +{"2.7": dead, "3.7": (long_live or die_hard)}
37 +{"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
38  {**a, **b, **c}
39 -{'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
40 -({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
41 +{"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
42 +({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
43  ()
44  (1,)
45  (1, 2)
46  (1, 2, 3)
47  []
48  [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
49 -[1, 2, 3,]
50 +[1, 2, 3]
51  [*a]
52  [*range(10)]
53 -[*a, 4, 5,]
54 -[4, *a, 5,]
55 -[this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
56 +[*a, 4, 5]
57 +[4, *a, 5]
58 +[
59 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
60 +    element,
61 +    another,
62 +    *more,
63 +]
64  {i for i in (1, 2, 3)}
65  {(i ** 2) for i in (1, 2, 3)}
66 -{(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
67 +{(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
68  {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
69  [i for i in (1, 2, 3)]
70  [(i ** 2) for i in (1, 2, 3)]
71 -[(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
72 +[(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
73  [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
74  {i: 0 for i in (1, 2, 3)}
75 -{i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
76 +{i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
77  {a: b * 2 for a, b in dictionary.items()}
78  {a: b * -2 for a, b in dictionary.items()}
79 -{k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
80 +{
81 +    k: v
82 +    for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
83 +}
84  Python3 > Python2 > COBOL
85  Life is Life
86  call()
87  call(arg)
88 -call(kwarg='hey')
89 -call(arg, kwarg='hey')
90 -call(arg, another, kwarg='hey', **kwargs)
91 -call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
92 +call(kwarg="hey")
93 +call(arg, kwarg="hey")
94 +call(arg, another, kwarg="hey", **kwargs)
95 +call(
96 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
97 +    arg,
98 +    another,
99 +    kwarg="hey",
100 +    **kwargs
101 +)  # note: no trailing comma pre-3.6
102  call(*gidgets[:2])
103  call(a, *gidgets[:2])
104  call(**self.screen_kwargs)
105  call(b, **self.screen_kwargs)
106  lukasz.langa.pl
107 @@ -90,11 +104,11 @@
108  1.0 .real
109  ....__class__
110  list[str]
111  dict[str, int]
112  tuple[str, ...]
113 -tuple[str, int, float, dict[str, int],]
114 +tuple[str, int, float, dict[str, int]]
115  very_long_variable_name_filters: t.List[
116      t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
117  ]
118  slice[0]
119  slice[0:1]
120 @@ -121,85 +135,119 @@
121  numpy[-(c + 1):, d]
122  numpy[:, l[-2]]
123  numpy[:, ::-1]
124  numpy[np.newaxis, :]
125  (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
126 -{'2.7': dead, '3.7': long_live or die_hard}
127 -{'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
128 +{"2.7": dead, "3.7": long_live or die_hard}
129 +{"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
130  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
131  (SomeName)
132  SomeName
133  (Good, Bad, Ugly)
134  (i for i in (1, 2, 3))
135  ((i ** 2) for i in (1, 2, 3))
136 -((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
137 +((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
138  (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
139  (*starred)
140 -{"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
141 +{
142 +    "id": "1",
143 +    "type": "type",
144 +    "started_at": now(),
145 +    "ended_at": now() + timedelta(days=10),
146 +    "priority": 1,
147 +    "import_session_id": 1,
148 +    **kwargs,
149 +}
150  a = (1,)
151  b = 1,
152  c = 1
153  d = (1,) + a + (2,)
154  e = (1,).count(1)
155 -what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
156 -what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
157 -result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
158 +what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
159 +    vars_to_remove
160 +)
161 +what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
162 +    vars_to_remove
163 +)
164 +result = session.query(models.Customer.id).filter(
165 +    models.Customer.account_id == account_id, models.Customer.email == email_address
166 +).order_by(
167 +    models.Customer.id.asc()
168 +).all()
169  Ø = set()
170  authors.łukasz.say_thanks()
171  mapping = {
172      A: 0.25 * (10.0 / 12),
173      B: 0.1 * (10.0 / 12),
174      C: 0.1 * (10.0 / 12),
175      D: 0.1 * (10.0 / 12),
176  }
177  
178 +
179  def gen():
180      yield from outside_of_generator
181 +
182      a = (yield)
183 +
184  
185  async def f():
186      await some.complicated[0].call(with_args=(True or (1 is not 1)))
187 -for x, in (1,), (2,), (3,): ...
188 -for y in (): ...
189 -for z in (i for i in (1, 2, 3)): ...
190 -for i in (call()): ...
191 -for j in (1 + (2 + 3)): ...
192 -while(this and that): ...
193 -if (
194 -    threading.current_thread() != threading.main_thread() and
195 -    threading.current_thread() != threading.main_thread() or
196 -    signal.getsignal(signal.SIGINT) != signal.default_int_handler
197 -):
198 -    return True
199 -if (
200 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
201 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
202 -):
203 -    return True
204 -if (
205 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
206 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
207 -):
208 -    return True
209 -if (
210 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
211 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
212 -):
213 -    return True
214 -if (
215 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
216 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
217 -):
218 -    return True
219 -if (
220 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
221 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
222 -):
223 -    return True
224 -if (
225 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
226 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
227 -):
228 -    return True
229 +
230 +
231 +for (x,) in (1,), (2,), (3,):
232 +    ...
233 +for y in ():
234 +    ...
235 +for z in (i for i in (1, 2, 3)):
236 +    ...
237 +for i in call():
238 +    ...
239 +for j in 1 + (2 + 3):
240 +    ...
241 +while this and that:
242 +    ...
243 +if (
244 +    threading.current_thread() != threading.main_thread()
245 +    and threading.current_thread() != threading.main_thread()
246 +    or signal.getsignal(signal.SIGINT) != signal.default_int_handler
247 +):
248 +    return True
249 +
250 +if (
251 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
252 +    | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
253 +):
254 +    return True
255 +
256 +if (
257 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
258 +    & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
259 +):
260 +    return True
261 +
262 +if (
263 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
264 +    + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
265 +):
266 +    return True
267 +
268 +if (
269 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
270 +    - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
271 +):
272 +    return True
273 +
274 +if (
275 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
276 +    * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
277 +):
278 +    return True
279 +
280 +if (
281 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
282 +    / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
283 +):
284 +    return True
285 +
286  last_call()
287  # standalone comment at ENDMARKER