added handling of HTML entities
This commit is contained in:
parent
13d2dad679
commit
4955cdaac6
5 changed files with 94 additions and 8 deletions
|
|
@ -210,5 +210,33 @@ int htmlFunction(int a, float b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* All entities are treated as commands © ™ ®
|
||||||
|
* should work also<in text
|
||||||
|
* >
|
||||||
|
* &
|
||||||
|
* '
|
||||||
|
* "
|
||||||
|
* ‘
|
||||||
|
* ’
|
||||||
|
* “
|
||||||
|
* &rdaquo;
|
||||||
|
* –
|
||||||
|
* —
|
||||||
|
*
|
||||||
|
* ×
|
||||||
|
* −
|
||||||
|
* ⋅
|
||||||
|
* ∼
|
||||||
|
* ≤
|
||||||
|
* ≥
|
||||||
|
* ←
|
||||||
|
* →
|
||||||
|
*/
|
||||||
|
int htmlEntitiesFunction(int a, float b)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
|
||||||
|
|
@ -227,6 +227,31 @@ public class doxygen_translate_runme {
|
||||||
" <var> Starts a piece of text displayed in an italic font. \n" +
|
" <var> Starts a piece of text displayed in an italic font. \n" +
|
||||||
" </var> \n" +
|
" </var> \n" +
|
||||||
"");
|
"");
|
||||||
|
|
||||||
|
wantedComments.put("doxygen_translate.doxygen_translate.htmlEntitiesFunction(int, float)",
|
||||||
|
"All entities are treated as commands © ™ ®\n" +
|
||||||
|
"should work also<in text \n" +
|
||||||
|
"> \n" +
|
||||||
|
"& \n" +
|
||||||
|
"' \n" +
|
||||||
|
"" \n" +
|
||||||
|
"‘ \n" +
|
||||||
|
"’ \n" +
|
||||||
|
"“ \n" +
|
||||||
|
"” \n" +
|
||||||
|
"– \n" +
|
||||||
|
"— \n" +
|
||||||
|
" \n" +
|
||||||
|
"× \n" +
|
||||||
|
"− \n" +
|
||||||
|
"⋅ \n" +
|
||||||
|
"∼ \n" +
|
||||||
|
"≤ \n" +
|
||||||
|
"≥ \n" +
|
||||||
|
"← \n" +
|
||||||
|
"→ \n" +
|
||||||
|
"");
|
||||||
|
|
||||||
// and ask the parser to check comments for us
|
// and ask the parser to check comments for us
|
||||||
System.exit(parser.check(wantedComments));
|
System.exit(parser.check(wantedComments));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1263,16 +1263,15 @@ size_t DoxygenParser::processNormalComment(size_t pos, const std::string &line)
|
||||||
size_t endOfWordPos = line.find_first_not_of("abcdefghijklmnopqrstuvwxyz", pos + 1);
|
size_t endOfWordPos = line.find_first_not_of("abcdefghijklmnopqrstuvwxyz", pos + 1);
|
||||||
if (endOfWordPos != string::npos) {
|
if (endOfWordPos != string::npos) {
|
||||||
if (line[endOfWordPos] == ';') {
|
if (line[endOfWordPos] == ';') {
|
||||||
addDoxyCommand(m_tokenList, line.substr(pos, endOfWordPos));
|
addDoxyCommand(m_tokenList, line.substr(pos, endOfWordPos - pos));
|
||||||
|
endOfWordPos++; // skip ';'
|
||||||
} else {
|
} else {
|
||||||
// it is not an entity - push plain string
|
// it is not an entity - push plain string
|
||||||
m_tokenList.push_back(Token(PLAINSTRING,
|
m_tokenList.push_back(Token(PLAINSTRING,
|
||||||
line.substr(pos, endOfWordPos - pos)));
|
line.substr(pos, endOfWordPos - pos)));
|
||||||
pos = endOfWordPos;
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
pos = string::npos;
|
|
||||||
}
|
}
|
||||||
|
pos = endOfWordPos;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,6 @@ void JavaDocConverter::fillStaticTables() {
|
||||||
*
|
*
|
||||||
* entities must be translated - remain in Java, something meaningfull in Python (<, ...)
|
* entities must be translated - remain in Java, something meaningfull in Python (<, ...)
|
||||||
*
|
*
|
||||||
* \e at end of line freezes doxygen
|
|
||||||
*
|
|
||||||
* - enum inside class is missing comment
|
* - enum inside class is missing comment
|
||||||
* - '\' not representing doxygen commands
|
* - '\' not representing doxygen commands
|
||||||
* - add comments also to auto-generated methods lilke equals(), delete() in Java,
|
* - add comments also to auto-generated methods lilke equals(), delete() in Java,
|
||||||
|
|
@ -193,6 +191,31 @@ void JavaDocConverter::fillStaticTables() {
|
||||||
tagHandlers["<kbd" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<kbd" );
|
tagHandlers["<kbd" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<kbd" );
|
||||||
tagHandlers["<ul" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<ul" );
|
tagHandlers["<ul" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<ul" );
|
||||||
tagHandlers["<var" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<var" );
|
tagHandlers["<var" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<var" );
|
||||||
|
|
||||||
|
// HTML entities
|
||||||
|
tagHandlers["©" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "©");
|
||||||
|
tagHandlers["&trade"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&trade");
|
||||||
|
tagHandlers["®" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "®");
|
||||||
|
tagHandlers["<" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "<");
|
||||||
|
tagHandlers[">" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, ">");
|
||||||
|
tagHandlers["&" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&");
|
||||||
|
tagHandlers["&apos" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&apos");
|
||||||
|
tagHandlers[""" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, """);
|
||||||
|
tagHandlers["&lsquo"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&lsquo");
|
||||||
|
tagHandlers["&rsquo"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&rsquo");
|
||||||
|
tagHandlers["&ldquo"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&ldquo");
|
||||||
|
tagHandlers["&rdquo"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&rdquo");
|
||||||
|
tagHandlers["&ndash"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&ndash");
|
||||||
|
tagHandlers["&mdash"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&mdash");
|
||||||
|
tagHandlers[" " ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, " ");
|
||||||
|
tagHandlers["×"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "×");
|
||||||
|
tagHandlers["&minus"] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&minus");
|
||||||
|
tagHandlers["&sdot" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&sdot");
|
||||||
|
tagHandlers["&sim" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&sim");
|
||||||
|
tagHandlers["&le" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&le");
|
||||||
|
tagHandlers["&ge" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&ge");
|
||||||
|
tagHandlers["&larr" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&larr");
|
||||||
|
tagHandlers["&rarr" ] = make_pair(&JavaDocConverter::handleDoxyHtmlTag, "&rarr");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -344,6 +367,12 @@ void JavaDocConverter::handleDoxyHtmlTag(DoxygenEntity& tag, std::string& transl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void JavaDocConverter::handleHtmlEntity(DoxygenEntity& tag, std::string& translatedComment, std::string &arg) {
|
||||||
|
// html entities can be preserved for Java
|
||||||
|
translatedComment += arg + ';';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void JavaDocConverter::handleNewLine(DoxygenEntity&, std::string& translatedComment, std::string&) {
|
void JavaDocConverter::handleNewLine(DoxygenEntity&, std::string& translatedComment, std::string&) {
|
||||||
translatedComment += "\n * ";
|
translatedComment += "\n * ";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,13 @@ protected:
|
||||||
|
|
||||||
/* Handles HTML tags recognized by Doxygen, like <A ...>, <ul>, <table>, ... */
|
/* Handles HTML tags recognized by Doxygen, like <A ...>, <ul>, <table>, ... */
|
||||||
void handleDoxyHtmlTag(DoxygenEntity& tag,
|
void handleDoxyHtmlTag(DoxygenEntity& tag,
|
||||||
std::string& translatedComment,
|
std::string& translatedComment,
|
||||||
std::string &arg);
|
std::string &arg);
|
||||||
|
|
||||||
|
/* Handles HTML entities recognized by Doxygen, like <, ©, ... */
|
||||||
|
void handleHtmlEntity(DoxygenEntity& tag,
|
||||||
|
std::string& translatedComment,
|
||||||
|
std::string &arg);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Just prints new line
|
* Just prints new line
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue