Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › docs/ › wasm/ › markdown.zig › mainImpl
mainImpl
markdown.mainImpl
fn mainImpl () !void
File
Code
fn mainImpl () !void {
const gpa = std .heap .c_allocator ;
var parser = try Parser .init (gpa );
defer parser .deinit ();
var stdin_buffer : [1024 ]u8 = undefined ;
var stdin_reader = std .fs .File .stdin ().reader (&stdin_buffer );
while (stdin_reader .takeDelimiterExclusive ('\n' )) |line | {
const trimmed = std .mem .trimEnd (u8 , line , '\r' );
try parser .feedLine (trimmed );
} else |err | switch (err ) {
error .EndOfStream => {},
else => |e | return e ,
}
var doc = try parser .endInput ();
defer doc .deinit (gpa );
var stdout_buffer : [1024 ]u8 = undefined ;
var stdout_writer = std .fs .File .stdout ().writer (&stdout_buffer );
try doc .render (&stdout_writer .interface );
try stdout_writer .interface .flush ();
}