Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Foundation
  - Donate
- Resources
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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.

# ddmd.doc

Compiler implementation of the D programming language.
Authors:
Walter Bright
License:
Boost License 1.0

Source: doc.d

class `Section`;
class `ParamSection`: ddmd.doc.Section;
class `MacroSection`: ddmd.doc.Section;
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.
void `escapeStrayParenthesis`(Loc `loc`, OutBuffer* `buf`, size_t `start`);
  Having unmatched parentheses can hose the output of Ddoc, as the macros depend on properly nested parentheses.
  Fix by replacing unmatched ( with ( and unmatched ) with ).
static size_t `getCodeIndent`(const(char)* `src`);
  emitComment
  Get leading indentation from '`src`' which represents lines of code.
static void `expandTemplateMixinComments`(TemplateMixin `tm`, OutBuffer* `buf`, Scope* `sc`);
  Recursively expand template mixin member docs into the scope.
struct `DocComment`;
  static void `parseMacros`(Escape** `pescapetable`, Macro** `pmacrotable`, const(char)* `m`, size_t `mlen`);
    Parse macros out of Macros: section. Macros are of the form: name1 = value1
    name2 = value2
  static void `parseEscapes`(Escape** `pescapetable`, const(char)* `textstart`, size_t `textlen`);
    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.
int `cmp`(const(char)* `stringz`, const(void)* `s`, size_t `slen`);
  Compare 0-terminated string with length terminated string. Return < 0, ==0, > 0
bool `isDitto`(const(char)* `comment`);
  Return `true` if `comment` consists entirely of "ditto".
const(char)* `skipwhitespace`(const(char)* `p`);
  Skip white space.
size_t `skiptoident`(OutBuffer* `buf`, size_t `i`);
  Scan forward to one of: start of identifier beginning of next line end of `buf`
size_t `skippastident`(OutBuffer* `buf`, size_t `i`);
  Scan forward past end of identifier.
size_t `skippastURL`(OutBuffer* `buf`, size_t `i`);
  Scan forward past URL starting at `i`. We don't want to highlight parts of a URL.
  Returns:
  `i` if not a URL index just past it if it is a URL
bool `isIdentifier`(Dsymbols* `a`, const(char)* `p`, size_t `len`);
bool `isKeyword`(const(char)* `p`, size_t `len`);
TypeFunction `isTypeFunction`(Dsymbol `s`);
Parameter `isFunctionParameter`(Dsymbols* `a`, const(char)* `p`, size_t `len`);
TemplateParameter `isTemplateParameter`(Dsymbols* `a`, const(char)* `p`, size_t `len`);
bool `isReservedName`(const(char)* `str`, size_t `len`);
  Return `true` if `str` is a reserved symbol name that starts with a double underscore.
void `highlightText`(Scope* `sc`, Dsymbols* `a`, OutBuffer* `buf`, size_t `offset`);
  Highlight text section.
void `highlightCode`(Scope* `sc`, Dsymbol `s`, OutBuffer* `buf`, size_t `offset`);
  Highlight code for DDOC section.
void `highlightCode`(Scope* `sc`, Dsymbols* `a`, OutBuffer* `buf`, size_t `offset`);
void `highlightCode3`(Scope* `sc`, OutBuffer* `buf`, const(char)* `p`, const(char)* `pend`);
void `highlightCode2`(Scope* `sc`, Dsymbols* `a`, OutBuffer* `buf`, size_t `offset`);
  Highlight code for CODE section.
bool `isCVariadicArg`(const(char)* `p`, size_t `len`);
  Determine if `p` points to the start of a "..." parameter identifier.
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.
bool `isIndentWS`(const(char)* `p`);
  Determine if `p` points to the indentation space.
int `utfStride`(const(char)* `p`);
  Return number of bytes in UTF character.

Copyright © 1999-2017 by the D Language Foundation | Page generated by Ddoc on Thu Aug 10 17:50:55 2017