Commit 5942797000

Shritesh Bhattarai <shritesh@shritesh.com>
2019-03-26 17:21:39
fmt: check for extra newline at end of file
`anything_changed` checks if `source_index` == `source.len` Fixes #2074
1 parent 51be449
Changed files (2)
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 {
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;
 }