A reference to the lexer to use. When expandMacros successfully returns, it will be empty.
A list of DDOC macros to use for expansion. This override the previous definitions, hardwired in DDOC. Which means if an user provides a macro such as macros["B"] = "<h1>$0</h1>";, it will be used, otherwise the default macros["B"] = "<b>$0</b>"; will be used. To undefine hardwired macros, just set them to an empty string: macros["B"] = "";.
Set to true to make unknown macros disappear from the output or false to make them output unprocessed.
An object satisfying std.range.isOutputRange, usually a std.array.Appender.
Write the text from the lexer to the OutputRange, and expand any macro in it..
expand takes a ddoc.Lexer, and will, until it's empty, write it's expanded version to output.