aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-05-28 17:09:55 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-05-28 17:09:55 -0400
commit6c1fda3f99ebef60f4cb45b6bd66e76c85483c36 (patch)
treedddfe914f93874f061bc6ab27654ca4d8ee56fce
parentfd13a757855e185b4250c65fe89bbd72c9479a52 (diff)
downloadzig-6c1fda3f99ebef60f4cb45b6bd66e76c85483c36.tar.gz
zig-6c1fda3f99ebef60f4cb45b6bd66e76c85483c36.zip
zig fmt: fix switch body indent
-rw-r--r--std/zig/parser_test.zig12
-rw-r--r--std/zig/render.zig6
2 files changed, 15 insertions, 3 deletions
diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig
index 72818bc074..dc522b3ef4 100644
--- a/std/zig/parser_test.zig
+++ b/std/zig/parser_test.zig
@@ -1,3 +1,15 @@
+test "zig fmt: switch comment before prong" {
+ try testCanonical(
+ \\comptime {
+ \\ switch (a) {
+ \\ // hi
+ \\ 0 => {},
+ \\ }
+ \\}
+ \\
+ );
+}
+
test "zig fmt: struct literal no trailing comma" {
try testTransform(
\\const a = foo{ .x = 1, .y = 2 };
diff --git a/std/zig/render.zig b/std/zig/render.zig
index 86e972c173..2f94d1cf8a 100644
--- a/std/zig/render.zig
+++ b/std/zig/render.zig
@@ -1050,11 +1050,11 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
try renderExpression(allocator, stream, tree, indent, switch_node.expr, Space.None);
- try renderToken(tree, stream, rparen, indent, Space.Space); // )
- try renderToken(tree, stream, lbrace, indent, Space.Newline); // {
-
const new_indent = indent + indent_delta;
+ try renderToken(tree, stream, rparen, indent, Space.Space); // )
+ try renderToken(tree, stream, lbrace, new_indent, Space.Newline); // {
+
var it = switch_node.cases.iterator(0);
while (it.next()) |node| {
try stream.writeByteNTimes(' ', new_indent);