From e827b9661b254bdc0e7300079dc1db4271d79638 Mon Sep 17 00:00:00 2001 From: hryx Date: Wed, 3 Apr 2019 22:28:47 -0700 Subject: [PATCH] zig fmt: Prevent for-else on same line when body is interrupted by LF --- std/zig/parser_test.zig | 15 +++++++++++++++ std/zig/render.zig | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig index 6e8e551f8317abb932938de8cc528153659bdc43..a4bba110f38822e9bbd5e5a6baf172d14e16c97a 100644 --- a/std/zig/parser_test.zig +++ b/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" { diff --git a/std/zig/render.zig b/std/zig/render.zig index f2b5d297dbe5ff223be6dfefdbd1992c0379d9ba..16fd717fca317293536dc2a73a2bf1d342d67680 100644 --- a/std/zig/render.zig +++ b/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 { -- 2.54.0