authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-04-30 15:10:55-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-04-30 15:10:55-04:00
log47680cc0d806775dd9576faaff6303e88b14fb5a
tree5f8ae0353a0ced14cf26bb1ff49a0e926f594071
parente14db2366160840e0c25f3a467ff984304831e4c

zig fmt: better multiline string handling


2 files changed, 14 insertions(+), 5 deletions(-)

std/zig/parser.zig+3-2
......@@ -3512,7 +3512,8 @@ pub const Parser = struct {
35123512 try stack.append(RenderState { .Text = ";" });
35133513 if (var_decl.init_node) |init_node| {
35143514 try stack.append(RenderState { .Expression = init_node });
3515 try stack.append(RenderState { .Text = " = " });
3515 const text = if (init_node.id == ast.Node.Id.MultilineStringLiteral) " =" else " = ";
3516 try stack.append(RenderState { .Text = text });
35163517 }
35173518 if (var_decl.align_node) |align_node| {
35183519 try stack.append(RenderState { .Text = ")" });
......@@ -4063,7 +4064,7 @@ pub const Parser = struct {
40634064 try stream.writeByteNTimes(' ', indent + indent_delta);
40644065 try stream.print("{}", self.tokenizer.getTokenSlice(t));
40654066 }
4066 try stream.writeByteNTimes(' ', indent + indent_delta);
4067 try stream.writeByteNTimes(' ', indent);
40674068 },
40684069 ast.Node.Id.UndefinedLiteral => {
40694070 const undefined_literal = @fieldParentPtr(ast.Node.UndefinedLiteral, "base", base);
std/zig/parser_test.zig+11-3
......@@ -423,10 +423,18 @@ test "zig fmt: functions" {
423423
424424test "zig fmt: multiline string" {
425425 try testCanonical(
426 \\const s =
427 \\ \\ something
428 \\ \\ something else
426 \\test "" {
427 \\ const s1 =
428 \\ \\one
429 \\ \\two)
430 \\ \\three
431 \\ ;
432 \\ const s2 =
433 \\ c\\one
434 \\ c\\two)
435 \\ c\\three
429436 \\ ;
437 \\}
430438 \\
431439 );
432440}