375 std::unique_ptr<FileDef> fd;
437 if (!opt.noPar()) txt +=
"[";
439 if (!opt.noPar()) txt +=
"]";
471 m_t <<
".IP \"" << ws;
508 std::get_if<DocParamSect>(p.
parent())
574 std::visit(*
this,*s.
title());
609 m_t <<
".IP \"" << ws <<
"\\(bu\" " <<
m_indent <<
"\n";
627 std::visit(*
this,*s.
title());
645 for (
const auto &opt : l.
attribs())
647 if (opt.name==
"type")
651 if (opt.name==
"start")
654 int val = opt.value.toInt(&ok);
670 m_t <<
".IP \"" << ws;
675 for (
const auto &opt : li.
attribs())
677 if (opt.name==
"value")
680 int val = opt.value.toInt(&ok);
735 m_t <<
"\n.IP \"\\fB";
743 m_t <<
".IP \"\" 1c\n";
785 m_t <<
"\\fP\n.PP\n";
799 std::visit(*
this,*summary);
817 if (header.
level()==1)
m_t <<
".SH";
else m_t <<
".SS";
821 if (header.
level()==1)
m_t <<
".PP\n";
872 m_t <<
".IP \"" << ws <<
"\\(bu\" " << (2*
m_indent) <<
"\n";
927 if (!first)
m_t <<
",";
else first=
false;
928 std::visit(*
this,param);
933 std::visit(*
this,par);
1005 const char *p=str.
data();
1007 bool insideDoubleQuote =
false;
1012 case '.':
m_t <<
"\\&.";
break;
1013 case '\\':
m_t <<
"\\\\";
break;
1014 case '\"':
m_t <<
"\""; insideDoubleQuote = !insideDoubleQuote;
break;
1015 case '\n':
if (retainNewline || !insideDoubleQuote)
m_t << c;
break;
1017 if (!citeEntry) {
m_t << c;
break;}
1024 default:
m_t << c;
break;
static CodeFragmentManager & instance()
void parseCodeFragment(OutputCodeList &codeOutList, const DString &fileName, const DString &blockId, const DString &scopeName, bool showLineNumbers, bool trimLeft, bool stripCodeComments)
virtual void parseCode(OutputCodeList &codeOutList, const DString &scopeName, const DString &input, SrcLangExt lang, bool stripCodeComments, const CodeParserOptions &options)=0
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
static DString integerToAlpha(int n, bool upper=true)
DString fill(char c, size_t len)
Fills a string with a predefined character.
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
static DString integerToRoman(int n, bool upper=true)
char & at(size_t i)
Returns a reference to the character at index i.
const std::string & str() const
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Node representing an anchor.
Node representing an auto List.
Node representing an item of a auto list.
Node representing a citation of some bibliographic reference.
CiteInfoOption option() const
Node representing a dia file.
Node representing a dot file.
Node representing an emoji.
Node representing a Hypertext reference.
Node representing a horizontal ruler.
Node representing an HTML blockquote.
Node representing a HTML table caption.
Node representing a HTML table cell.
Node representing a HTML description data.
Node representing a Html description list.
Node representing a Html description item.
const DocNodeVariant * summary() const
Node representing a Html list.
const HtmlAttribList & attribs() const
Node representing a HTML list item.
const HtmlAttribList & attribs() const
Node representing a HTML table row.
Node representing a HTML table.
Node representing an image.
Node representing a include/dontinclude operator block.
bool stripCodeComments() const
DString exampleFile() const
DString includeFileName() const
Node representing an included text block from file.
bool stripCodeComments() const
DString exampleFile() const
DString extension() const
Node representing an entry in the index.
Node representing an internal section of documentation.
Node representing an internal reference to some item.
Node representing a line break.
Node representing a link to some item.
Node representing a word that can be linked to something.
Node representing a mermaid file.
Node representing a msc file.
DocNodeVariant * parent()
Node representing an block of paragraphs.
Node representing a paragraph in the documentation tree.
Node representing a parameter list.
const DocNodeList & parameters() const
const DocNodeList & paragraphs() const
Node representing a parameter section.
Node representing a uml file.
Node representing a reference to some item.
DString targetTitle() const
Root node of documentation tree.
Node representing a reference to a section.
Node representing a list of section references.
Node representing a normal section.
const DocNodeVariant * title() const
Node representing a separator.
Node representing a simple list.
Node representing a simple list item.
const DocNodeVariant * paragraph() const
Node representing a simple section.
const DocNodeVariant * title() const
Node representing a separator between two simple sections of the same type.
Node representing a style change.
Node representing a special symbol.
HtmlEntityMapper::SymType symbol() const
Root node of a text fragment.
Node representing a simple section title.
Node representing a URL (or email address).
Node representing a verbatim, unparsed text fragment.
DString exampleFile() const
Node representing a VHDL flow chart.
void pushHidden(bool hide)
CodeParserInterface & getCodeParser(const DString &langExt)
Node representing some amount of white space.
Node representing a word.
Node representing an item of a cross-referenced list.
const char * name(int index) const
Access routine to the name of the Emoji entity.
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Minimal replacement for QFileInfo.
std::string fileName() const
std::string dirPath(bool absPath=true) const
const char * writeHtmlEntity(T &result, const char *s, HtmlEntityMapperFunc &&mapper, const char *fallback)
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
const char * man(SymType symb) const
Access routine to the man code of the HTML entity.
std::array< ManListItemInfo, maxIndentLevels > m_listItemInfo
void operator()(const DocWord &)
ManDocVisitor(TextStream &t, OutputCodeList &ci, const DString &langExt)
static const int maxIndentLevels
void filter(const DString &str, const bool retainNewline=false, const bool citeEntry=false)
void visitChildren(const T &t)
Class representing a list of different code generators.
Text streaming class that buffers data.
virtual DString trExceptions()=0
virtual DString trReturns()=0
virtual DString trParameters()=0
virtual DString trCopyright()=0
virtual DString trWarning()=0
virtual DString trSince()=0
virtual DString trNote()=0
virtual DString trAuthor(bool first_capital, bool singular)=0
virtual DString trReturnValues()=0
virtual DString trVersion()=0
virtual DString trTemplateParameters()=0
virtual DString trImportant()=0
virtual DString trPrecondition()=0
virtual DString trAttention()=0
virtual DString trInvariant()=0
virtual DString trRemarks()=0
virtual DString trDate()=0
virtual DString trSeeAlso()=0
virtual DString trPostcondition()=0
#define Config_getBool(name)
std::unique_ptr< FileDef > createFileDef(const DString &p, const DString &n, const DString &ref, const DString &dn)
Translator * theTranslator
Options to configure the code parser.
CodeParserOptions & setInlineFragment(bool enable)
CodeParserOptions & setShowLineNumbers(bool enable)
CodeParserOptions & setFileDef(const FileDef *fd)
DString getFileNameExtension(const DString &fn)
SrcLangExt getLanguageFromFileName(const DString &fileName, SrcLangExt defLang)
SrcLangExt getLanguageFromCodeLang(DString &fileName)
Routine to handle the language attribute of the \code command.
A bunch of utility functions.