Skip to content

Commit 3f302f8

Browse files
committed
handle more cases of inserting trailing commas
1 parent 000c01a commit 3f302f8

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

std/zig/render.zig

+13-7
Original file line numberDiff line numberDiff line change
@@ -449,13 +449,16 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
449449
var it = field_inits.iterator(0);
450450
while (it.next()) |field_init| {
451451
try stream.writeByteNTimes(' ', new_indent);
452-
try renderExpression(allocator, stream, tree, new_indent, field_init.*, Space.None);
453-
454-
const comma = tree.nextToken(field_init.*.lastToken());
455-
try renderToken(tree, stream, comma, new_indent, Space.Newline);
456452

457453
if (it.peek()) |next_field_init| {
454+
try renderExpression(allocator, stream, tree, new_indent, field_init.*, Space.None);
455+
456+
const comma = tree.nextToken(field_init.*.lastToken());
457+
try renderToken(tree, stream, comma, new_indent, Space.Newline);
458+
458459
try renderExtraNewline(tree, stream, next_field_init.*);
460+
} else {
461+
try renderTrailingComma(allocator, stream, tree, new_indent, field_init.*, Space.Newline);
459462
}
460463
}
461464

@@ -499,7 +502,7 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
499502

500503
try renderExtraNewline(tree, stream, next_expr.*);
501504
} else {
502-
try renderTrailingComma(allocator, stream, tree, indent, expr.*, Space.Newline);
505+
try renderTrailingComma(allocator, stream, tree, new_indent, expr.*, Space.Newline);
503506
}
504507
}
505508

@@ -743,11 +746,14 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
743746
var it = err_set_decl.decls.iterator(0);
744747
while (it.next()) |node| {
745748
try stream.writeByteNTimes(' ', new_indent);
746-
try renderExpression(allocator, stream, tree, new_indent, node.*, Space.None);
747-
try renderToken(tree, stream, tree.nextToken(node.*.lastToken()), new_indent, Space.Newline); // ,
748749

749750
if (it.peek()) |next_node| {
751+
try renderExpression(allocator, stream, tree, new_indent, node.*, Space.None);
752+
try renderToken(tree, stream, tree.nextToken(node.*.lastToken()), new_indent, Space.Newline); // ,
753+
750754
try renderExtraNewline(tree, stream, next_node.*);
755+
} else {
756+
try renderTrailingComma(allocator, stream, tree, new_indent, node.*, Space.Newline);
751757
}
752758
}
753759

0 commit comments

Comments
 (0)