authorgravatar for codroid@gmail.comhryx <codroid@gmail.com> 2019-04-03 22:28:47-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-04 01:31:39-04:00
loge827b9661b254bdc0e7300079dc1db4271d79638
treeed6672166bc07f6074ea97154983a910b6ccf7e8
parentcec8c8678a5853fb13fecab8ac29c2388b3aeb8e

zig fmt: Prevent for-else on same line when body is interrupted by LF


2 files changed, 16 insertions(+), 1 deletions(-)

std/zig/parser_test.zig+15
...@@ -1875,6 +1875,21 @@ test "zig fmt: for" {...@@ -1875,6 +1875,21 @@ test "zig fmt: for" {
1875 \\}1875 \\}
1876 \\1876 \\
1877 );1877 );
1878
1879 try testTransform(
1880 \\test "fix for" {
1881 \\ for (a) |x|
1882 \\ f(x) else continue;
1883 \\}
1884 \\
1885 ,
1886 \\test "fix for" {
1887 \\ for (a) |x|
1888 \\ f(x)
1889 \\ else continue;
1890 \\}
1891 \\
1892 );
1878}1893}
18791894
1880test "zig fmt: if" {1895test "zig fmt: if" {
std/zig/render.zig+1-1
...@@ -1460,7 +1460,7 @@ fn renderExpression(...@@ -1460,7 +1460,7 @@ fn renderExpression(
14601460
1461 const space_after_body = blk: {1461 const space_after_body = blk: {
1462 if (for_node.@"else") |@"else"| {1462 if (for_node.@"else") |@"else"| {
1463 const src_one_line_to_else = tree.tokensOnSameLine(for_node.body.lastToken(), @"else".firstToken());1463 const src_one_line_to_else = tree.tokensOnSameLine(rparen, @"else".firstToken());
1464 if (body_is_block or src_one_line_to_else) {1464 if (body_is_block or src_one_line_to_else) {
1465 break :blk Space.Space;1465 break :blk Space.Space;
1466 } else {1466 } else {