zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 5942797000936394a7ed68806df56c02ca5d2b44 (tree)
parent 51be449a57010a27382cb8104740b34f7863876b
Author: Shritesh Bhattarai <shritesh@shritesh.com>
Date:   Tue, 26 Mar 2019 11:21:39 -0500

fmt: check for extra newline at end of file

`anything_changed` checks if `source_index` == `source.len`
Fixes #2074

Diffstat:
Mstd/zig/parser_test.zig | 12++++++++++++
Mstd/zig/render.zig | 4++++
2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig @@ -517,6 +517,18 @@ test "zig fmt: no trailing comma on struct decl" { ); } +test "zig fmt: extra newlines at the end" { + try testTransform( + \\const a = b; + \\ + \\ + \\ + , + \\const a = b; + \\ + ); +} + test "zig fmt: simple asm" { try testTransform( \\comptime { diff --git a/std/zig/render.zig b/std/zig/render.zig @@ -59,6 +59,10 @@ pub fn render(allocator: *mem.Allocator, stream: var, tree: *ast.Tree) (@typeOf( try renderRoot(allocator, &my_stream.stream, tree); + if (!anything_changed and my_stream.source_index != my_stream.source.len) { + anything_changed = true; + } + return anything_changed; }