summaryrefslogtreecommitdiffstats
path: root/src/doctokenizer.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r--src/doctokenizer.l32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 3bd2058..ea4a1a4 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -417,6 +417,8 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2}
%x St_Verbatim
%x St_Dot
%x St_Msc
+%x St_PlantUMLOpt
+%x St_PlantUML
%x St_Param
%x St_XRefItem
%x St_XRefItem2
@@ -843,7 +845,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2}
<St_Dot>. { /* dot text */
g_token->verb+=yytext;
}
-<St_Msc>{CMD}("endmsc"|"endvhdlflow") {
+<St_Msc>{CMD}("endmsc") {
return RetVal_OK;
}
<St_Msc>[^\\@\n]+ |
@@ -851,6 +853,23 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2}
<St_Msc>. { /* msc text */
g_token->verb+=yytext;
}
+<St_PlantUMLOpt>\n {
+ g_token->sectionId=g_token->sectionId.stripWhiteSpace();
+ BEGIN(St_PlantUML);
+ }
+<St_PlantUMLOpt>["{}] { // skip curly brackets or quotes around the optional image name
+ }
+<St_PlantUMLOpt>. {
+ g_token->sectionId += yytext;
+ }
+<St_PlantUML>{CMD}"enduml" {
+ return RetVal_OK;
+ }
+<St_PlantUML>[^\\@\n]+ |
+<St_PlantUML>\n |
+<St_PlantUML>. { /* plantuml text */
+ g_token->verb+=yytext;
+ }
<St_Title>"\"" { // quoted title
BEGIN(St_TitleQ);
}
@@ -1121,6 +1140,10 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2}
g_endMarker="endmsc";
BEGIN(St_SecSkip);
}
+<St_Sections>{CMD}"startuml"/[^a-z_A-Z0-9] {
+ g_endMarker="enduml";
+ BEGIN(St_SecSkip);
+ }
<St_Sections>{CMD}"htmlonly"/[^a-z_A-Z0-9] {
g_endMarker="endhtmlonly";
BEGIN(St_SecSkip);
@@ -1318,6 +1341,13 @@ void doctokenizerYYsetStateMsc()
BEGIN(St_Msc);
}
+void doctokenizerYYsetStatePlantUML()
+{
+ g_token->verb="";
+ g_token->sectionId="";
+ BEGIN(St_PlantUMLOpt);
+}
+
void doctokenizerYYsetStateParam()
{
BEGIN(St_Param);