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.
pubconstSTT = enum(u4) {
/// Symbol type is unspecifiedNOTYPE = 0,
/// Symbol is a data objectOBJECT = 1,
/// Symbol is a code objectFUNC = 2,
/// Symbol associated with a sectionSECTION = 3,
/// Symbol's name is file nameFILE = 4,
/// Symbol is a common data objectCOMMON = 5,
/// Symbol is thread-local data objectTLS = 6,
_,
/// Number of defined typespubconstNUM = @typeInfo(STT).@"enum".field_names.len;
/// Start of OS-specificpubconstLOOS: STT = @fromBackingInt(@intCast(10));
/// End of OS-specificpubconstHIOS: STT = @fromBackingInt(@intCast(12));
/// Symbol is indirect code objectpubconstGNU_IFUNC: STT = @fromBackingInt(@intCast(@backingInt(LOOS) + 0));
pubconstHP_OPAQUE: STT = @fromBackingInt(@intCast(@backingInt(LOOS) + 1));
pubconstHP_STUB: STT = @fromBackingInt(@intCast(@backingInt(LOOS) + 2));
/// Start of processor-specificpubconstLOPROC: STT = @fromBackingInt(@intCast(13));
/// End of processor-specificpubconstHIPROC: STT = @fromBackingInt(@intCast(15));
pubconstSPARC_REGISTER: STT = @fromBackingInt(@intCast(@backingInt(LOPROC) + 0));
pubconstPARISC_MILLICODE: STT = @fromBackingInt(@intCast(@backingInt(LOPROC) + 0));
pubconstARM_TFUNC: STT = @fromBackingInt(@intCast(@backingInt(LOPROC) + 0));
pubconstARM_16BIT: STT = @fromBackingInt(@intCast(@backingInt(HIPROC) + 2));
}