| author | |
| committer | |
| log | c818a1e61f702e1990af3e0773b3954d0e29d0ca |
| tree | f49bb16b26a111842472d9b89c9062f89e8b275c |
| parent | ed3ca0f570e052adbed291a79e9a11bba5d3f7d0 |
2 files changed, 19 insertions(+), 1 deletions(-)
lib/std/zig/Ast/Render.zig+8-1| ... | ... | @@ -338,9 +338,16 @@ fn renderExpression(r: *Render, node: Ast.Node.Index, space: Space) Error!void { |
| 338 | 338 | try ais.maybeInsertNewline(); |
| 339 | 339 | |
| 340 | 340 | const first_tok, const last_tok = tree.nodeData(node).token_and_token; |
| 341 | for (first_tok..last_tok + 1) |i| { | |
| 341 | for (first_tok..last_tok) |i| { | |
| 342 | 342 | try renderToken(r, @intCast(i), .newline); |
| 343 | 343 | } |
| 344 | if (space != .skip) { | |
| 345 | try renderToken(r, last_tok, .newline); | |
| 346 | } else { | |
| 347 | try renderToken(r, last_tok, .skip); | |
| 348 | try ais.insertNewline(); // A newline is part of the token, so it still needs | |
| 349 | // rendered here. | |
| 350 | } | |
| 344 | 351 | |
| 345 | 352 | const next_token = last_tok + 1; |
| 346 | 353 | const next_token_tag = tree.tokenTag(next_token); |
lib/std/zig/parser_test.zig+11| ... | ... | @@ -6881,6 +6881,17 @@ test "zig fmt: asm with zig fmt on" { |
| 6881 | 6881 | ); |
| 6882 | 6882 | } |
| 6883 | 6883 | |
| 6884 | test "zig fmt: array init with multiline string literal with fmt on/off" { | |
| 6885 | try testCanonical( | |
| 6886 | \\const array = .{ | |
| 6887 | \\ \\ | |
| 6888 | \\ // zig fmt: on | |
| 6889 | \\ // zig fmt: off | |
| 6890 | \\}; | |
| 6891 | \\ | |
| 6892 | ); | |
| 6893 | } | |
| 6894 | ||
| 6884 | 6895 | test "recovery: top level" { |
| 6885 | 6896 | try testError( |
| 6886 | 6897 | \\test "" {inline} |