Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Ddoc documentation generation.

Source doc.d

void gendocfile(Module m);
void escapeDdocString(OutBuffer* buf, size_t start);
Having unmatched parentheses can hose the output of Ddoc, as the macros depend on properly nested parentheses. This function replaces all ( with ( and ) with ) to preserve text literally. This also means macros in the text won't be expanded.
struct DocComment;
static void parseMacros(Escape* escapetable, ref MacroTable pmacrotable, const(char)[] m);
Parse macros out of Macros: section. Macros are of the form: name1 = value1
name2 = value2
static void parseEscapes(Escape* escapetable, const(char)[] text);
Parse escapes of the form: /c/string/ where c is a single character. Multiple escapes can be separated by whitespace and/or commas.
void parseSections(const(char)* comment);
Parse next paragraph out of *pcomment. Update *pcomment to point past paragraph. Returns NULL if no more paragraphs. If paragraph ends in 'identifier:', then (*pcomment)[0 .. idlen] is the identifier.
size_t skiptoident(ref OutBuffer buf, size_t i);
Scan forward to one of: start of identifier beginning of next line end of buf
bool isIdStart(const(char)* p);
Determine if p points to the start of an identifier.
bool isIdTail(const(char)* p);
Determine if p points to the rest of an identifier.
int utfStride(const(char)* p);
Return number of bytes in UTF character.