summaryrefslogtreecommitdiffstats
path: root/src/doctokenizer.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2018-11-11 13:38:52 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2018-11-11 13:38:52 (GMT)
commitea68219eb2c41f509723e2b89f4db6ea7fbb40bf (patch)
tree681a7466e3b479e91497f6c094891b1496d161e1 /src/doctokenizer.l
parent9440d7ce0b31749b6bbb13e70e2f7ed501505c7e (diff)
parent79c7a88dba9e7f136ab87b824414d47fa6ae94fe (diff)
downloadDoxygen-ea68219eb2c41f509723e2b89f4db6ea7fbb40bf.zip
Doxygen-ea68219eb2c41f509723e2b89f4db6ea7fbb40bf.tar.gz
Doxygen-ea68219eb2c41f509723e2b89f4db6ea7fbb40bf.tar.bz2
Merge branch 'albert-github-feature/issue_6517'
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r--src/doctokenizer.l20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 6a703df..fac09ba 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -125,6 +125,7 @@ const char *tokToString(int token)
case TK_RCSTAG: return "TK_RCSTAG";
case TK_URL: return "TK_URL";
case TK_COMMAND_BS: return "TK_COMMAND_BS";
+ case TK_EMOJI: return "TK_EMOJI";
}
return "ERROR";
}
@@ -335,6 +336,7 @@ CMD ("\\"|"@")
WS [ \t\r\n]
NONWS [^ \t\r\n]
BLANK [ \t\r]
+EMOJI (":"[a-z_A-Z0-9\x80-\xFF"'+()&\*\.!,#-]":"|":"[a-z_A-Z0-9\x80-\xFF"'+()&\*\.!,#-][a-z_A-Z0-9\x80-\xFF "'+()&\*\.!,#-]*[a-z_A-Z0-9\x80-\xFF"'+()&\*\.!,#-]":")
ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
PHPTYPE [\\:a-z_A-Z0-9\x80-\xFF\-]+
@@ -361,6 +363,7 @@ SPCMD1 {CMD}([a-z_A-Z][a-z_A-Z0-9]*|{VERBATIM}|"--"|"---")
SPCMD2 {CMD}[\\@<>&$#%~".+|-]
SPCMD3 {CMD}form#[0-9]+
SPCMD4 {CMD}"::"
+SPCMD5 {CMD}":"
INOUT "inout"|"in"|"out"|("in"{BLANK}*","{BLANK}*"out")|("out"{BLANK}*","{BLANK}*"in")
PARAMIO {CMD}param{BLANK}*"["{BLANK}*{INOUT}{BLANK}*"]"
VARARGS "..."
@@ -586,6 +589,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
}
<St_Para>{SPCMD1} |
<St_Para>{SPCMD2} |
+<St_Para>{SPCMD5} |
<St_Para>{SPCMD4} { /* special command */
g_token->name = yytext+1;
g_token->name = g_token->name.stripWhiteSpace();
@@ -677,6 +681,10 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
g_token->name = yytext;
return TK_SYMBOL;
}
+<St_Para,St_Text>{EMOJI} { /* emoji symbol */
+ g_token->name = yytext;
+ return TK_EMOJI;
+ }
/********* patterns for linkable words ******************/
@@ -923,6 +931,10 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
g_token->name = yytext;
return TK_SYMBOL;
}
+<St_TitleN>{EMOJI} { /* emoji */
+ g_token->name = yytext;
+ return TK_EMOJI;
+ }
<St_TitleN>{HTMLTAG} {
}
<St_TitleN>{SPCMD1} |
@@ -959,6 +971,10 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
g_token->name = yytext;
return TK_SYMBOL;
}
+<St_TitleQ>{EMOJI} { /* emoji */
+ g_token->name = yytext;
+ return TK_EMOJI;
+ }
<St_TitleQ>{SPCMD1} |
<St_TitleQ>{SPCMD2} { /* special command */
g_token->name = yytext+1;
@@ -1090,6 +1106,10 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
g_token->name = yytext;
return TK_SYMBOL;
}
+<St_Ref2>{EMOJI} { /* emoji */
+ g_token->name = yytext;
+ return TK_EMOJI;
+ }
<St_Ref2>{SPCMD1} |
<St_Ref2>{SPCMD2} { /* special command */
g_token->name = yytext+1;