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 {...@@ -3512,7 +3512,8 @@ pub const Parser = struct {
3512 try stack.append(RenderState { .Text = ";" });3512 try stack.append(RenderState { .Text = ";" });
3513 if (var_decl.init_node) |init_node| {3513 if (var_decl.init_node) |init_node| {
3514 try stack.append(RenderState { .Expression = init_node });3514 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 });
3516 }3517 }
3517 if (var_decl.align_node) |align_node| {3518 if (var_decl.align_node) |align_node| {
3518 try stack.append(RenderState { .Text = ")" });3519 try stack.append(RenderState { .Text = ")" });
...@@ -4063,7 +4064,7 @@ pub const Parser = struct {...@@ -4063,7 +4064,7 @@ pub const Parser = struct {
4063 try stream.writeByteNTimes(' ', indent + indent_delta);4064 try stream.writeByteNTimes(' ', indent + indent_delta);
4064 try stream.print("{}", self.tokenizer.getTokenSlice(t));4065 try stream.print("{}", self.tokenizer.getTokenSlice(t));
4065 }4066 }
4066 try stream.writeByteNTimes(' ', indent + indent_delta);4067 try stream.writeByteNTimes(' ', indent);
4067 },4068 },
4068 ast.Node.Id.UndefinedLiteral => {4069 ast.Node.Id.UndefinedLiteral => {
4069 const undefined_literal = @fieldParentPtr(ast.Node.UndefinedLiteral, "base", base);4070 const undefined_literal = @fieldParentPtr(ast.Node.UndefinedLiteral, "base", base);
std/zig/parser_test.zig+11-3
...@@ -423,10 +423,18 @@ test "zig fmt: functions" {...@@ -423,10 +423,18 @@ test "zig fmt: functions" {
423423
424test "zig fmt: multiline string" {424test "zig fmt: multiline string" {
425 try testCanonical(425 try testCanonical(
426 \\const s = 426 \\test "" {
427 \\ \\ something427 \\ const s1 =
428 \\ \\ something else428 \\ \\one
429 \\ \\two)
430 \\ \\three
431 \\ ;
432 \\ const s2 =
433 \\ c\\one
434 \\ c\\two)
435 \\ c\\three
429 \\ ;436 \\ ;
437 \\}
430 \\438 \\
431 );439 );
432}440}