]>
 
 
git.madduck.net Git - etc/vim.git/commitdiff 
 
 
 
 
 
 
 
 
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:
 
summary  | 
shortlog  | 
log  | 
commit  | commitdiff | 
tree 
raw  | 
patch  | 
inline  | side by side (from parent 1: 
25795c9 )
 
Fixes #372. 
 
 
 * fixed formatting of lambda expressions with default arguments (#468)
 
 
 * fixed formatting of lambda expressions with default arguments (#468)
 
+* *Black* no longer breaks ``async for`` statements up to separate lines (#372)
+
 
 
 
 def is_split_before_delimiter(leaf: Leaf, previous: Leaf = None) -> int:
 
 
 def is_split_before_delimiter(leaf: Leaf, previous: Leaf = None) -> int:
-    """Return the priority of the `leaf` delimiter, given a line before after  it.
+    """Return the priority of the `leaf` delimiter, given a line break before  it.
 
     The delimiter priorities returned here are from those delimiters that would
     cause a line break before themselves.
 
     The delimiter priorities returned here are from those delimiters that would
     cause a line break before themselves.
 
     ):
         return STRING_PRIORITY
 
     ):
         return STRING_PRIORITY
 
-    if leaf.type != token.NAME :
+    if leaf.type not in {token.NAME, token.ASYNC} :
         return 0
 
     if (
         leaf.value == "for"
         and leaf.parent
         and leaf.parent.type in {syms.comp_for, syms.old_comp_for}
         return 0
 
     if (
         leaf.value == "for"
         and leaf.parent
         and leaf.parent.type in {syms.comp_for, syms.old_comp_for}
+        or leaf.type == token.ASYNC
-        return COMPREHENSION_PRIORITY
+        if (
+            not isinstance(leaf.prev_sibling, Leaf)
+            or leaf.prev_sibling.value != "async"
+        ):
+            return COMPREHENSION_PRIORITY
 
 def f():
     return (i*2 async for i in arange(42))
 
 def f():
     return (i*2 async for i in arange(42))
 
+def g():
+    return (something_long * something_long async for something_long in async_generator(with_an_argument))
+
+async def func():
+    if test:
+        out_batched = [
+            i
+            async for i in aitertools._async_map(
+                self.async_inc, arange(8), batch_size=3
+            )
+        ]
 
 
 def f():
     return (i * 2 async for i in arange(42))
 
 def f():
     return (i * 2 async for i in arange(42))
+
+
+def g():
+    return (
+        something_long * something_long
+        async for something_long in async_generator(with_an_argument)
+    )
+
+
+async def func():
+    if test:
+        out_batched = [
+            i
+            async for i in aitertools._async_map(
+                self.async_inc, arange(8), batch_size=3
+            )
+        ]