]> git.madduck.net Git - etc/vim.git/blobdiff - 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:

Parse complex expressions in parameters after * and **
[etc/vim.git] / tests / expression.diff
index 4cdf803e8889d263ef98fdf40b0485301fc49f9c..dd9459c4453593e8ab186ba2c51c6720740d6888 100644 (file)
@@ -11,7 +11,7 @@
  True
  False
  1
-@@ -29,65 +29,74 @@
+@@ -29,59 +29,73 @@
  ~great
  +value
  -1
  [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
 -[1, 2, 3,]
 +[1, 2, 3]
+ [*a]
+ [*range(10)]
+-[*a, 4, 5,]
+-[4, *a, 5,]
+-[this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
++[*a, 4, 5]
++[4, *a, 5]
++[
++    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
++    element,
++    another,
++    *more,
++]
  {i for i in (1, 2, 3)}
  {(i ** 2) for i in (1, 2, 3)}
 -{(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
 +    **kwargs
 +)  # note: no trailing comma pre-3.6
  call(*gidgets[:2])
+ call(a, *gidgets[:2])
  call(**self.screen_kwargs)
+ call(b, **self.screen_kwargs)
  lukasz.langa.pl
- call.me(maybe)
- 1 .real
+@@ -90,11 +104,11 @@
  1.0 .real
  ....__class__
  list[str]
  ]
  slice[0]
  slice[0:1]
-@@ -114,71 +123,90 @@
+@@ -121,88 +135,122 @@
  numpy[-(c + 1):, d]
  numpy[:, l[-2]]
  numpy[:, ::-1]
 +((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
  (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
  (*starred)
+-{"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
++{
++    "id": "1",
++    "type": "type",
++    "started_at": now(),
++    "ended_at": now() + timedelta(days=10),
++    "priority": 1,
++    "import_session_id": 1,
++    **kwargs,
++}
  a = (1,)
  b = 1,
  c = 1
 +).order_by(
 +    models.Customer.id.asc()
 +).all()
-+
+ Ø = set()
+ authors.łukasz.say_thanks()
+ mapping = {
+     A: 0.25 * (10.0 / 12),
+     B: 0.1 * (10.0 / 12),
+     C: 0.1 * (10.0 / 12),
+     D: 0.1 * (10.0 / 12),
+ }
  
++
  def gen():
      yield from outside_of_generator
 +
  
  async def f():
      await some.complicated[0].call(with_args=(True or (1 is not 1)))
+-print(* [] or [1])
++
++
++print(*[] or [1])
+ print(**{1: 3} if False else {x: x for x in range(3)})
+-print(* lambda x: x)
+-for x, in (1,), (2,), (3,): ...
+-for y in (): ...
+-for z in (i for i in (1, 2, 3)): ...
+-for i in (call()): ...
+-for j in (1 + (2 + 3)): ...
+-while(this and that): ...
 -if (
 -    threading.current_thread() != threading.main_thread() and
 -    threading.current_thread() != threading.main_thread() or
 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 -):
 -    return True
-+
++print(*lambda x: x)
++for (x,) in (1,), (2,), (3,):
++    ...
++for y in ():
++    ...
++for z in (i for i in (1, 2, 3)):
++    ...
++for i in call():
++    ...
++for j in 1 + (2 + 3):
++    ...
++while this and that:
++    ...
 +if (
 +    threading.current_thread() != threading.main_thread()
 +    and threading.current_thread() != threading.main_thread()
 +
  last_call()
  # standalone comment at ENDMARKER
-