| author | |
| committer | |
| log | 59850c1ce12a325c8602d9201ab4a62ce12865bc |
| tree | 98eb155a0df61675ce55d20eb5ef43167a1cd7a6 |
| parent | 57aa8997bd0b651d56a22efee46598fff167253d |
2 files changed, 33 insertions(+), 1 deletions(-)
std/zig/parser_test.zig+26| ... | @@ -2267,6 +2267,32 @@ test "zig fmt: file ends with struct field" { | ... | @@ -2267,6 +2267,32 @@ test "zig fmt: file ends with struct field" { |
| 2267 | ); | 2267 | ); |
| 2268 | } | 2268 | } |
| 2269 | 2269 | ||
| 2270 | test "zig fmt: comments at several places in struct init" { | ||
| 2271 | try testTransform( | ||
| 2272 | \\var bar = Bar{ | ||
| 2273 | \\ .x = 10, // test | ||
| 2274 | \\ .y = "test" | ||
| 2275 | \\ // test | ||
| 2276 | \\}; | ||
| 2277 | \\ | ||
| 2278 | , | ||
| 2279 | \\var bar = Bar{ | ||
| 2280 | \\ .x = 10, // test | ||
| 2281 | \\ .y = "test", // test | ||
| 2282 | \\}; | ||
| 2283 | \\ | ||
| 2284 | ); | ||
| 2285 | |||
| 2286 | try testCanonical( | ||
| 2287 | \\var bar = Bar{ // test | ||
| 2288 | \\ .x = 10, // test | ||
| 2289 | \\ .y = "test", | ||
| 2290 | \\ // test | ||
| 2291 | \\}; | ||
| 2292 | \\ | ||
| 2293 | ); | ||
| 2294 | } | ||
| 2295 | |||
| 2270 | const std = @import("std"); | 2296 | const std = @import("std"); |
| 2271 | const mem = std.mem; | 2297 | const mem = std.mem; |
| 2272 | const warn = std.debug.warn; | 2298 | const warn = std.debug.warn; |
std/zig/render.zig+7-1| ... | @@ -2020,7 +2020,13 @@ fn renderTokenOffset( | ... | @@ -2020,7 +2020,13 @@ fn renderTokenOffset( |
| 2020 | 2020 | ||
| 2021 | const after_comment_token = tree.tokens.at(token_index + offset); | 2021 | const after_comment_token = tree.tokens.at(token_index + offset); |
| 2022 | const next_line_indent = switch (after_comment_token.id) { | 2022 | const next_line_indent = switch (after_comment_token.id) { |
| 2023 | Token.Id.RParen, Token.Id.RBrace, Token.Id.RBracket => indent - indent_delta, | 2023 | Token.Id.RParen, Token.Id.RBrace, Token.Id.RBracket => blk: { |
| 2024 | if (indent > indent_delta) { | ||
| 2025 | break :blk indent - indent_delta; | ||
| 2026 | } else { | ||
| 2027 | break :blk 0; | ||
| 2028 | } | ||
| 2029 | }, | ||
| 2024 | else => indent, | 2030 | else => indent, |
| 2025 | }; | 2031 | }; |
| 2026 | try stream.writeByteNTimes(' ', next_line_indent); | 2032 | try stream.writeByteNTimes(' ', next_line_indent); |