diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-04-30 15:10:55 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-04-30 15:10:55 -0400 |
| commit | 47680cc0d806775dd9576faaff6303e88b14fb5a (patch) | |
| tree | 5f8ae0353a0ced14cf26bb1ff49a0e926f594071 /std | |
| parent | e14db2366160840e0c25f3a467ff984304831e4c (diff) | |
| download | zig-47680cc0d806775dd9576faaff6303e88b14fb5a.tar.gz zig-47680cc0d806775dd9576faaff6303e88b14fb5a.zip | |
zig fmt: better multiline string handling
Diffstat (limited to 'std')
| -rw-r--r-- | std/zig/parser.zig | 5 | ||||
| -rw-r--r-- | std/zig/parser_test.zig | 14 |
2 files changed, 14 insertions, 5 deletions
diff --git a/std/zig/parser.zig b/std/zig/parser.zig index b5849c3e96..025bd31715 100644 --- a/std/zig/parser.zig +++ b/std/zig/parser.zig @@ -3512,7 +3512,8 @@ pub const Parser = struct { try stack.append(RenderState { .Text = ";" }); if (var_decl.init_node) |init_node| { try stack.append(RenderState { .Expression = init_node }); - try stack.append(RenderState { .Text = " = " }); + const text = if (init_node.id == ast.Node.Id.MultilineStringLiteral) " =" else " = "; + try stack.append(RenderState { .Text = text }); } if (var_decl.align_node) |align_node| { try stack.append(RenderState { .Text = ")" }); @@ -4063,7 +4064,7 @@ pub const Parser = struct { try stream.writeByteNTimes(' ', indent + indent_delta); try stream.print("{}", self.tokenizer.getTokenSlice(t)); } - try stream.writeByteNTimes(' ', indent + indent_delta); + try stream.writeByteNTimes(' ', indent); }, ast.Node.Id.UndefinedLiteral => { const undefined_literal = @fieldParentPtr(ast.Node.UndefinedLiteral, "base", base); diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig index 74a49a70e3..4c238254fa 100644 --- a/std/zig/parser_test.zig +++ b/std/zig/parser_test.zig @@ -423,10 +423,18 @@ test "zig fmt: functions" { test "zig fmt: multiline string" { try testCanonical( - \\const s = - \\ \\ something - \\ \\ something else + \\test "" { + \\ const s1 = + \\ \\one + \\ \\two) + \\ \\three + \\ ; + \\ const s2 = + \\ c\\one + \\ c\\two) + \\ c\\three \\ ; + \\} \\ ); } |
