Commit e827b9661b

hryx <codroid@gmail.com>
2019-04-04 07:28:47
zig fmt: Prevent for-else on same line when body is interrupted by LF
1 parent cec8c86
Changed files (2)
std/zig/parser_test.zig
@@ -1875,6 +1875,21 @@ test "zig fmt: for" {
         \\}
         \\
     );
+
+    try testTransform(
+        \\test "fix for" {
+        \\    for (a) |x|
+        \\        f(x) else continue;
+        \\}
+        \\
+    ,
+        \\test "fix for" {
+        \\    for (a) |x|
+        \\        f(x)
+        \\    else continue;
+        \\}
+        \\
+    );
 }
 
 test "zig fmt: if" {
std/zig/render.zig
@@ -1460,7 +1460,7 @@ fn renderExpression(
 
             const space_after_body = blk: {
                 if (for_node.@"else") |@"else"| {
-                    const src_one_line_to_else = tree.tokensOnSameLine(for_node.body.lastToken(), @"else".firstToken());
+                    const src_one_line_to_else = tree.tokensOnSameLine(rparen, @"else".firstToken());
                     if (body_is_block or src_one_line_to_else) {
                         break :blk Space.Space;
                     } else {