369 std::unique_ptr<FileDef> fd;
431 if (!opt.noPar()) txt +=
"[";
433 if (!opt.noPar()) txt +=
"]";
465 m_t <<
".IP \"" << ws;
502 std::get_if<DocParamSect>(p.
parent())
568 std::visit(*
this,*s.
title());
603 m_t <<
".IP \"" << ws <<
"\\(bu\" " <<
m_indent <<
"\n";
621 std::visit(*
this,*s.
title());
639 for (
const auto &opt : l.
attribs())
641 if (opt.name==
"type")
645 if (opt.name==
"start")
648 int val = opt.value.toInt(&ok);
664 m_t <<
".IP \"" << ws;
669 for (
const auto &opt : li.
attribs())
671 if (opt.name==
"value")
674 int val = opt.value.toInt(&ok);
729 m_t <<
"\n.IP \"\\fB";
737 m_t <<
".IP \"\" 1c\n";
779 m_t <<
"\\fP\n.PP\n";
793 std::visit(*
this,*summary);
811 if (header.
level()==1)
m_t <<
".SH";
else m_t <<
".SS";
815 if (header.
level()==1)
m_t <<
".PP\n";
866 m_t <<
".IP \"" << ws <<
"\\(bu\" " << (2*
m_indent) <<
"\n";
921 if (!first)
m_t <<
",";
else first=
FALSE;
922 std::visit(*
this,param);
927 std::visit(*
this,par);
999 const char *p=str.
data();
1001 bool insideDoubleQuote =
false;
1006 case '.':
m_t <<
"\\&.";
break;
1007 case '\\':
m_t <<
"\\\\";
break;
1008 case '\"':
m_t <<
"\""; insideDoubleQuote = !insideDoubleQuote;
break;
1009 case '\n':
if (retainNewline || !insideDoubleQuote)
m_t << c;
break;
1011 if (!citeEntry) {
m_t << c;
break;}
1014 default:
m_t << c;
break;
void parseCodeFragment(OutputCodeList &codeOutList, const QCString &fileName, const QCString &blockId, const QCString &scopeName, bool showLineNumbers, bool trimLeft, bool stripCodeComments)
static CodeFragmentManager & instance()
virtual void parseCode(OutputCodeList &codeOutList, const QCString &scopeName, const QCString &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.
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
QCString includeFileName() const
QCString exampleFile() const
Node representing an included text block from file.
QCString extension() const
bool stripCodeComments() const
QCString exampleFile() 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.
QCString 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.
QCString language() const
QCString exampleFile() const
Node representing a VHDL flow chart.
CodeParserInterface & getCodeParser(const QCString &langExt)
void pushHidden(bool hide)
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
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.
void filter(const QCString &str, const bool retainNewline=false, const bool citeEntry=false)
std::array< ManListItemInfo, maxIndentLevels > m_listItemInfo
void operator()(const DocWord &)
static const int maxIndentLevels
void visitChildren(const T &t)
ManDocVisitor(TextStream &t, OutputCodeList &ci, const QCString &langExt)
Class representing a list of different code generators.
This is an alternative implementation of QCString.
size_t length() const
Returns the length of the string, not counting the 0-terminator.
char & at(size_t i)
Returns a reference to the character at index i.
bool isEmpty() const
Returns TRUE iff the string is empty.
QCString fill(char c, int len=-1)
Fills a string with a predefined character.
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.
Text streaming class that buffers data.
#define Config_getBool(name)
std::unique_ptr< FileDef > createFileDef(const QCString &p, const QCString &n, const QCString &ref, const QCString &dn)
Translator * theTranslator
Options to configure the code parser.
CodeParserOptions & setInlineFragment(bool enable)
CodeParserOptions & setShowLineNumbers(bool enable)
CodeParserOptions & setFileDef(const FileDef *fd)
SrcLangExt getLanguageFromFileName(const QCString &fileName, SrcLangExt defLang)
QCString integerToRoman(int n, bool upper)
SrcLangExt getLanguageFromCodeLang(QCString &fileName)
Routine to handle the language attribute of the \code command.
QCString integerToAlpha(int n, bool upper)
const char * writeHtmlEntity(T &result, const char *s, HtmlEntityMapperFunc &&mapper, const char *fallback)
QCString getFileNameExtension(const QCString &fn)
A bunch of utility functions.