From b59182f64dcb75bd9b7ddcb31e28fae459c4cf03 Mon Sep 17 00:00:00 2001
From: albert-github
Date: Thu, 9 Jan 2020 19:13:16 +0100
Subject: Adding commands `\rtfinclude`, `\docbookinclude`, `\maninclude` and
`\xmlinclude`
Adding for consistency with `\*only`, `\htmlincclude` and `\latexinclude` the commands: `\rtfinclude`, `\docbookinclude`, `\maninclude` and `\xmlinclude`
---
doc/commands.doc | 77 +++++++++++++++++++++++++++++++++++++++++++++----
src/cmdmapper.cpp | 4 +++
src/cmdmapper.h | 6 +++-
src/commentscan.l | 4 +++
src/docbookvisitor.cpp | 6 ++++
src/docparser.cpp | 18 ++++++++++--
src/docparser.h | 2 +-
src/htmldocvisitor.cpp | 8 +++++
src/latexdocvisitor.cpp | 4 +++
src/mandocvisitor.cpp | 6 ++++
src/perlmodgen.cpp | 4 +++
src/printdocvisitor.h | 4 +++
src/rtfdocvisitor.cpp | 6 ++++
src/xmldocvisitor.cpp | 18 ++++++++++++
14 files changed, 157 insertions(+), 10 deletions(-)
diff --git a/doc/commands.doc b/doc/commands.doc
index 3415dce..be526a0 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -72,6 +72,7 @@ documentation:
\refitem cmddetails \\details
\refitem cmddiafile \\diafile
\refitem cmddir \\dir
+\refitem cmddocbookinclude \\docbookinclude
\refitem cmddocbookonly \\docbookonly
\refitem cmddontinclude \\dontinclude
\refitem cmddot \\dot
@@ -135,6 +136,7 @@ documentation:
\refitem cmdline \\line
\refitem cmdlink \\link
\refitem cmdmainpage \\mainpage
+\refitem cmdmaninclude \\maninclude
\refitem cmdmanonly \\manonly
\refitem cmdmemberof \\memberof
\refitem cmdmsc \\msc
@@ -175,6 +177,7 @@ documentation:
\refitem cmdreturn \\return
\refitem cmdreturns \\returns
\refitem cmdretval \\retval
+\refitem cmdrtfinclude \\rtfinclude
\refitem cmdrtfonly \\rtfonly
\refitem cmdsa \\sa
\refitem cmdsecreflist \\secreflist
@@ -211,6 +214,7 @@ documentation:
\refitem cmdvhdlflow \\vhdlflow
\refitem cmdwarning \\warning
\refitem cmdweakgroup \\weakgroup
+\refitem cmdxmlinclude \\xmlinclude
\refitem cmdxmlonly \\xmlonly
\refitem cmdxrefitem \\xrefitem
\refitem cmddollar \\\$
@@ -2457,8 +2461,8 @@ Commands for displaying examples
\section cmdverbinclude \\verbinclude
\addindex \\verbinclude
- This command includes the file \ verbatim in the documentation.
- The command is equivalent to pasting the file in the documentation and
+ This command includes the contents of the file \ verbatim in the documentation.
+ The command is equivalent to pasting the contents of the file in the documentation and
placing \ref cmdverbatim "\\verbatim" and \ref cmdendverbatim "\\endverbatim"
commands around it.
@@ -2469,8 +2473,9 @@ Commands for displaying examples
\section cmdhtmlinclude \\htmlinclude ["[block]"]
\addindex \\htmlinclude
- This command includes the file \ as is in the HTML documentation.
- The command is equivalent to pasting the file in the documentation and
+ This command includes the contents of the file \ as is in the HTML documentation
+ and tagged with `` in the generated XML output.
+ The command is equivalent to pasting the contents of the file in the documentation and
placing \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly"
commands around it.
@@ -2490,8 +2495,9 @@ Commands for displaying examples
\section cmdlatexinclude \\latexinclude
\addindex \\latexinclude
- This command includes the file \ as is in the \LaTeX documentation.
- The command is equivalent to pasting the file in the documentation and
+ This command includes the contents of the file \ as is in the \LaTeX documentation
+ and tagged with `` in the generated XML output.
+ The command is equivalent to pasting the contents of the file in the documentation and
placing \ref cmdlatexonly "\\latexonly" and \ref cmdendlatexonly "\\endlatexonly"
commands around it.
@@ -2501,6 +2507,65 @@ Commands for displaying examples
\sa section \ref cmdlatexonly "\\latexonly".
+\section cmdrtfinclude \\rtfinclude
+
+ \addindex \\rtfinclude
+ This command includes the contents of the file \ as is in the RTF documentation
+ and tagged with `` in the generated XML output.
+ The command is equivalent to pasting the contents of the file in the documentation and
+ placing \ref cmdrtfonly "\\rtfonly" and \ref cmdendrtfonly "\\endrtfonly"
+ commands around it.
+
+ Files or directories that doxygen should look for can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
+
+ \sa section \ref cmdrtfonly "\\rtfonly".
+
+
+\section cmdmaninclude \\maninclude
+
+ \addindex \\maninclude
+ This command includes the contents of the file \ as is in the MAN documentation
+ and tagged with `` in the generated XML output.
+ The command is equivalent to pasting the contents of the file in the documentation and
+ placing \ref cmdmanonly "\\manonly" and \ref cmdendmanonly "\\endmanonly"
+ commands around it.
+
+ Files or directories that doxygen should look for can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
+
+ \sa section \ref cmdmanonly "\\manonly".
+
+
+\section cmddocbookinclude \\docbookinclude
+
+ \addindex \\docbookinclude
+ This command includes the contents of the file \ as is in the DocBook documentation
+ and tagged with `` in the generated XML output.
+ The command is equivalent to pasting the contents of the file in the documentation and
+ placing \ref cmddocbookonly "\\docbookonly" and \ref cmdenddocbookonly "\\enddocbookonly"
+ commands around it.
+
+ Files or directories that doxygen should look for can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
+
+ \sa section \ref cmddocbookonly "\\docbookonly".
+
+
+\section cmdxmlinclude \\xmlinclude
+
+ \addindex \\xmlinclude
+ This command includes contents of the the file \ as is in the XML documentation.
+ The command is equivalent to pasting the contents of the file in the documentation and
+ placing \ref cmdxmlonly "\\xmlonly" and \ref cmdendxmlonly "\\endxmlonly"
+ commands around it.
+
+ Files or directories that doxygen should look for can be specified using the
+ \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
+
+ \sa section \ref cmdxmlonly "\\xmlonly".
+
+
\htmlonly
\endhtmlonly
\htmlonly --- \endhtmlonly
diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp
index e62aa4f..372ba5b 100644
--- a/src/cmdmapper.cpp
+++ b/src/cmdmapper.cpp
@@ -149,6 +149,10 @@ CommandMap cmdMap[] =
{ "---", CMD_MDASH },
{ "_setscope", CMD_SETSCOPE },
{ "emoji", CMD_EMOJI },
+ { "rtfinclude", CMD_RTFINCLUDE },
+ { "docbookinclude",CMD_DOCBOOKINCLUDE },
+ { "maninclude", CMD_MANINCLUDE },
+ { "xmlinclude", CMD_XMLINCLUDE },
{ 0, 0 },
};
diff --git a/src/cmdmapper.h b/src/cmdmapper.h
index 246be9d..a86c20a 100644
--- a/src/cmdmapper.h
+++ b/src/cmdmapper.h
@@ -138,7 +138,11 @@ enum CommandType
CMD_SNIPPETDOC = 108,
CMD_SNIPWITHLINES= 109,
CMD_EMOJI = 110,
- CMD_EQUAL = 111
+ CMD_EQUAL = 111,
+ CMD_RTFINCLUDE = 112,
+ CMD_DOCBOOKINCLUDE= 113,
+ CMD_MANINCLUDE = 114,
+ CMD_XMLINCLUDE = 115
};
enum HtmlTagType
diff --git a/src/commentscan.l b/src/commentscan.l
index 02117c2..cf56b14 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -286,6 +286,10 @@ static DocCmdMap docCmdMap[] =
{ "snippet", 0, TRUE },
{ "snippetlineno", 0, TRUE },
{ "noop", &handleNoop, TRUE },
+ { "rtfinclude", 0, FALSE },
+ { "docbookinclude", 0, FALSE },
+ { "maninclude", 0, FALSE },
+ { "xmlinclude", 0, FALSE },
{ 0, 0, FALSE }
};
diff --git a/src/docbookvisitor.cpp b/src/docbookvisitor.cpp
index 9de0a16..e6d0014 100644
--- a/src/docbookvisitor.cpp
+++ b/src/docbookvisitor.cpp
@@ -434,6 +434,12 @@ DB_VIS_C
case DocInclude::DontIncWithLines:
case DocInclude::HtmlInclude:
case DocInclude::LatexInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ break;
+ case DocInclude::DocbookInclude:
+ m_t << inc->text();
break;
case DocInclude::VerbInclude:
m_t << "";
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 5498adb..2d27ff9 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -2000,9 +2000,11 @@ void DocInclude::parse()
case VerbInclude:
// fall through
case HtmlInclude:
- readTextFileByName(m_file,m_text);
- break;
case LatexInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
readTextFileByName(m_file,m_text);
break;
case Snippet:
@@ -5776,6 +5778,18 @@ int DocPara::handleCommand(const QCString &cmdName, const int tok)
case CMD_LATEXINCLUDE:
handleInclude(cmdName,DocInclude::LatexInclude);
break;
+ case CMD_RTFINCLUDE:
+ handleInclude(cmdName,DocInclude::RtfInclude);
+ break;
+ case CMD_MANINCLUDE:
+ handleInclude(cmdName,DocInclude::ManInclude);
+ break;
+ case CMD_XMLINCLUDE:
+ handleInclude(cmdName,DocInclude::XmlInclude);
+ break;
+ case CMD_DOCBOOKINCLUDE:
+ handleInclude(cmdName,DocInclude::DocbookInclude);
+ break;
case CMD_VERBINCLUDE:
handleInclude(cmdName,DocInclude::VerbInclude);
break;
diff --git a/src/docparser.h b/src/docparser.h
index b7164d7..2ce8f4b 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -583,7 +583,7 @@ class DocInclude : public DocNode
public:
enum Type { Include, DontInclude, VerbInclude, HtmlInclude, LatexInclude,
IncWithLines, Snippet , IncludeDoc, SnippetDoc, SnipWithLines,
- DontIncWithLines};
+ DontIncWithLines, RtfInclude, ManInclude, DocbookInclude, XmlInclude};
DocInclude(DocNode *parent,const QCString &file,
const QCString context, Type t,
bool isExample,const QCString exampleFile,
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 424fead..aff838e 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -180,6 +180,10 @@ static bool isDocIncludeVisible(DocInclude *s)
{
case DocInclude::DontInclude:
case DocInclude::LatexInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
return FALSE;
default:
return TRUE;
@@ -715,6 +719,10 @@ void HtmlDocVisitor::visit(DocInclude *inc)
break;
case DocInclude::DontInclude:
case DocInclude::LatexInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
case DocInclude::DontIncWithLines:
break;
case DocInclude::HtmlInclude:
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index 730f083..b9ce963 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -503,6 +503,10 @@ void LatexDocVisitor::visit(DocInclude *inc)
case DocInclude::DontInclude:
case DocInclude::DontIncWithLines:
case DocInclude::HtmlInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
break;
case DocInclude::LatexInclude:
m_t << inc->text();
diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp
index 6b76008..fef857e 100644
--- a/src/mandocvisitor.cpp
+++ b/src/mandocvisitor.cpp
@@ -304,6 +304,12 @@ void ManDocVisitor::visit(DocInclude *inc)
case DocInclude::DontIncWithLines:
case DocInclude::HtmlInclude:
case DocInclude::LatexInclude:
+ case DocInclude::RtfInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
+ break;
+ case DocInclude::ManInclude:
+ m_t << inc->text();
break;
case DocInclude::VerbInclude:
if (!m_firstCol) m_t << endl;
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index 4ecee5e..7bbc4a7 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -733,6 +733,10 @@ void PerlModDocVisitor::visit(DocInclude *inc)
case DocInclude::DontIncWithLines: return;
case DocInclude::HtmlInclude: type = "htmlonly"; break;
case DocInclude::LatexInclude: type = "latexonly"; break;
+ case DocInclude::RtfInclude: type = "rtfonly"; break;
+ case DocInclude::ManInclude: type = "manonly"; break;
+ case DocInclude::XmlInclude: type = "xmlonly"; break;
+ case DocInclude::DocbookInclude: type = "docbookonly"; break;
case DocInclude::VerbInclude: type = "preformatted"; break;
case DocInclude::Snippet: return;
case DocInclude::SnipWithLines: return;
diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h
index ed4e76b..7bc5821 100644
--- a/src/printdocvisitor.h
+++ b/src/printdocvisitor.h
@@ -202,6 +202,10 @@ class PrintDocVisitor : public DocVisitor
if (inc->isBlock()) printf(" block=\"yes\"");
break;
case DocInclude::LatexInclude: printf("latexinclude"); break;
+ case DocInclude::RtfInclude: printf("rtfinclude"); break;
+ case DocInclude::DocbookInclude: printf("docbookinclude"); break;
+ case DocInclude::ManInclude: printf("maninclude"); break;
+ case DocInclude::XmlInclude: printf("xmlinclude"); break;
case DocInclude::VerbInclude: printf("verbinclude"); break;
case DocInclude::Snippet: printf("snippet"); break;
case DocInclude::SnipWithLines: printf("snipwithlines"); break;
diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp
index 471cf85..75ac400 100644
--- a/src/rtfdocvisitor.cpp
+++ b/src/rtfdocvisitor.cpp
@@ -473,6 +473,12 @@ void RTFDocVisitor::visit(DocInclude *inc)
case DocInclude::DontIncWithLines:
case DocInclude::HtmlInclude:
case DocInclude::LatexInclude:
+ case DocInclude::ManInclude:
+ case DocInclude::XmlInclude:
+ case DocInclude::DocbookInclude:
+ break;
+ case DocInclude::RtfInclude:
+ m_t << inc->text();
break;
case DocInclude::VerbInclude:
m_t << "{" << endl;
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 019bef1..0aafd47 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -388,6 +388,24 @@ void XmlDocVisitor::visit(DocInclude *inc)
filter(inc->text());
m_t << "";
break;
+ case DocInclude::RtfInclude:
+ m_t << "";
+ filter(inc->text());
+ m_t << "";
+ break;
+ case DocInclude::ManInclude:
+ m_t << "";
+ filter(inc->text());
+ m_t << "";
+ break;
+ case DocInclude::XmlInclude:
+ filter(inc->text());
+ break;
+ case DocInclude::DocbookInclude:
+ m_t << "";
+ filter(inc->text());
+ m_t << "";
+ break;
case DocInclude::VerbInclude:
m_t << "";
filter(inc->text());
--
cgit v0.12