authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-25 01:52:59-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-25 01:52:59-04:00
log3f302f841136ebbcc4da0707fff6faaac4c03e55
treeb950009368ff8be27359ece474602b7455578292
parent000c01a36aeef162d743ebf4bd8ee67380f26672

handle more cases of inserting trailing commas


1 files changed, 13 insertions(+), 7 deletions(-)

std/zig/render.zig+13-7
...@@ -449,13 +449,16 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind...@@ -449,13 +449,16 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
449 var it = field_inits.iterator(0);449 var it = field_inits.iterator(0);
450 while (it.next()) |field_init| {450 while (it.next()) |field_init| {
451 try stream.writeByteNTimes(' ', new_indent);451 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
457 if (it.peek()) |next_field_init| {453 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
458 try renderExtraNewline(tree, stream, next_field_init.*);459 try renderExtraNewline(tree, stream, next_field_init.*);
460 } else {
461 try renderTrailingComma(allocator, stream, tree, new_indent, field_init.*, Space.Newline);
459 }462 }
460 }463 }
461464
...@@ -499,7 +502,7 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind...@@ -499,7 +502,7 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
499502
500 try renderExtraNewline(tree, stream, next_expr.*);503 try renderExtraNewline(tree, stream, next_expr.*);
501 } else {504 } else {
502 try renderTrailingComma(allocator, stream, tree, indent, expr.*, Space.Newline);505 try renderTrailingComma(allocator, stream, tree, new_indent, expr.*, Space.Newline);
503 }506 }
504 }507 }
505508
...@@ -743,11 +746,14 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind...@@ -743,11 +746,14 @@ fn renderExpression(allocator: &mem.Allocator, stream: var, tree: &ast.Tree, ind
743 var it = err_set_decl.decls.iterator(0);746 var it = err_set_decl.decls.iterator(0);
744 while (it.next()) |node| {747 while (it.next()) |node| {
745 try stream.writeByteNTimes(' ', new_indent);748 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
749 if (it.peek()) |next_node| {750 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
750 try renderExtraNewline(tree, stream, next_node.*);754 try renderExtraNewline(tree, stream, next_node.*);
755 } else {
756 try renderTrailingComma(allocator, stream, tree, new_indent, node.*, Space.Newline);
751 }757 }
752 }758 }
753759