commit 61a726c290a4e569ae28da59c94ba6a40df59a20 (tree)
parent 4cc1008c2d2b438b9847944898ad2d7cfbbdab8b
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Mon, 30 Apr 2018 19:27:14 -0400
zig fmt: comments in field decls
Diffstat:
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/std/zig/parser.zig b/std/zig/parser.zig
@@ -3525,6 +3525,7 @@ pub const Parser = struct {
},
ast.Node.Id.StructField => {
const field = @fieldParentPtr(ast.Node.StructField, "base", decl);
+ try self.renderComments(stream, &field.base, indent);
if (field.visib_token) |visib_token| {
try stream.print("{} ", self.tokenizer.getTokenSlice(visib_token));
}
@@ -3534,6 +3535,7 @@ pub const Parser = struct {
},
ast.Node.Id.UnionTag => {
const tag = @fieldParentPtr(ast.Node.UnionTag, "base", decl);
+ try self.renderComments(stream, &tag.base, indent);
try stream.print("{}", self.tokenizer.getTokenSlice(tag.name_token));
try stack.append(RenderState { .Text = "," });
@@ -3550,6 +3552,7 @@ pub const Parser = struct {
},
ast.Node.Id.EnumTag => {
const tag = @fieldParentPtr(ast.Node.EnumTag, "base", decl);
+ try self.renderComments(stream, &tag.base, indent);
try stream.print("{}", self.tokenizer.getTokenSlice(tag.name_token));
try stack.append(RenderState { .Text = "," });
diff --git a/std/zig/parser_test.zig b/std/zig/parser_test.zig
@@ -1,5 +1,16 @@
+test "zig fmt: doc comments before struct field" {
+ try testCanonical(
+ \\pub const Allocator = struct {
+ \\ /// Allocate byte_count bytes and return them in a slice, with the
+ \\ /// slice's pointer aligned at least to alignment bytes.
+ \\ allocFn: fn() void,
+ \\};
+ \\
+ );
+}
+
test "zig fmt: error set declaration" {
- try testCanonical(
+ try testCanonical(
\\const E = error{
\\ A,
\\ B,