Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - 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.

# dmd.doc

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

Source doc.d

Documentation https://dlang.org/phobos/dmd_doc.html

Coverage https://codecov.io/gh/dlang/dmd/src/master/src/dmd/doc.d

class `Section`;
class `ParamSection`: dmd.doc.Section;
class `MacroSection`: dmd.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 ).
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-2018 by the D Language Foundation | Page generated by Ddoc on Sat Sep 1 19:49:21 2018