Skip to content

Commit

Permalink
fmt: fix #8974
Browse files Browse the repository at this point in the history
also add a regression test
  • Loading branch information
g-w1 authored and Vexu committed Jun 4, 2021
1 parent 83e0a49 commit 5d94e75
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
7 changes: 7 additions & 0 deletions lib/std/zig/parser_test.zig
Original file line number Diff line number Diff line change
Expand Up @@ -4409,6 +4409,13 @@ test "zig fmt: regression test for #5722" {
);
}

test "zig fmt: regression test for #8974" {
try testCanonical(
\\pub const VARIABLE;
\\
);
}

test "zig fmt: allow trailing line comments to do manual array formatting" {
try testCanonical(
\\fn foo() void {
Expand Down
20 changes: 11 additions & 9 deletions lib/std/zig/render.zig
Original file line number Diff line number Diff line change
Expand Up @@ -989,16 +989,18 @@ fn renderVarDecl(gpa: *Allocator, ais: *Ais, tree: ast.Tree, var_decl: ast.full.
}
}

assert(var_decl.ast.init_node != 0);
const eq_token = tree.firstToken(var_decl.ast.init_node) - 1;
const eq_space: Space = if (tree.tokensOnSameLine(eq_token, eq_token + 1)) .space else .newline;
{
ais.pushIndent();
try renderToken(ais, tree, eq_token, eq_space); // =
ais.popIndent();
if (var_decl.ast.init_node != 0) {
const eq_token = tree.firstToken(var_decl.ast.init_node) - 1;
const eq_space: Space = if (tree.tokensOnSameLine(eq_token, eq_token + 1)) .space else .newline;
{
ais.pushIndent();
try renderToken(ais, tree, eq_token, eq_space); // =
ais.popIndent();
}
ais.pushIndentOneShot();
return renderExpression(gpa, ais, tree, var_decl.ast.init_node, .semicolon); // ;
}
ais.pushIndentOneShot();
try renderExpression(gpa, ais, tree, var_decl.ast.init_node, .semicolon);
return renderToken(ais, tree, var_decl.ast.mut_token + 2, .newline); // ;
}

fn renderIf(gpa: *Allocator, ais: *Ais, tree: ast.Tree, if_node: ast.full.If, space: Space) Error!void {
Expand Down

0 comments on commit 5d94e75

Please sign in to comment.