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 › std/ › zig/ › Ast/ › Render.zig › rendersMultiline
rendersMultiline
Render.rendersMultiline
fn rendersMultiline (r : *const Render , node : Ast .Node .Index ) error
File
Code
fn rendersMultiline (r : *const Render , node : Ast .Node .Index ) error {OutOfMemory }!bool {
var no_nl_buf : [64 ]u8 = undefined ;
var no_nl_w : Writer = .{
.vtable = &.{ .drain = drainNoNewline },
.buffer = &no_nl_buf ,
};
if (r .ais .disabled_offset != null ) return true ;
var sub_ais : AutoIndentingStream = .init (r .gpa , &no_nl_w , r .ais .indent_delta );
defer sub_ais .deinit ();
sub_ais .indent_count = r .ais .indent_count ;
sub_ais .applied_indent = r .ais .applied_indent ;
sub_ais .current_line_empty = r .ais .current_line_empty ;
var sub_r : Render = .{
.gpa = r .gpa ,
.ais = &sub_ais ,
.tree = r .tree ,
.fixups = r .fixups ,
};
renderExpression (&sub_r , node , .none ) catch |err | return switch (err ) {
error .OutOfMemory => |e | return e ,
error .WriteFailed => return true ,
};
if (sub_ais .disabled_offset != null ) return true ;
if (std .mem .indexOfScalar (u8 , no_nl_w .buffered (), '\n' ) != null ) {
return true ;
}
return false ;
}