summaryrefslogtreecommitdiffstats
path: root/src/doctokenizer.l
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-11-17 10:42:14 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-11-17 10:42:14 (GMT)
commit8ef2c893f372d44225f9536bac379387e8d2bc44 (patch)
treed5d7bfacd785f65c2d5e4382ab55d4d509b7d9e4 /src/doctokenizer.l
parenta7803b58cf4359b0dbf44e3c4346283cc4242b6e (diff)
downloadDoxygen-8ef2c893f372d44225f9536bac379387e8d2bc44.zip
Doxygen-8ef2c893f372d44225f9536bac379387e8d2bc44.tar.gz
Doxygen-8ef2c893f372d44225f9536bac379387e8d2bc44.tar.bz2
Extending \cite command with '-' and '?' characters.
In the `\cite` label some extra characters are enabled, '-' and '?', as the '--' and '---' have been converted beforehand they have to be converted back and the corresponding labels also have to between double quotes (which are striped away).
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r--src/doctokenizer.l16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index cd5d926..f50b9ae 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -341,9 +341,9 @@ EMOJI (":"[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\-]+
-CITESCHAR [a-z_A-Z0-9\x80-\xFF]
-CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/]*
-CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*
+CITESCHAR [a-z_A-Z0-9\x80-\xFF\-\?]
+CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/\?]
+CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*|"\""{CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*"\""
MAILADR ("mailto:")?[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+
OPTSTARS ("//"{BLANK}*)?"*"*{BLANK}*
LISTITEM {BLANK}*[-]("#")?{WS}
@@ -1047,7 +1047,15 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
return 0;
}
<St_Cite>{CITEID} { // label to cite
- g_token->name=yytext;
+ if (yytext[0] =='"')
+ {
+ g_token->name=yytext+1;
+ g_token->name=g_token->name.left(yyleng-2);
+ }
+ else
+ {
+ g_token->name=yytext;
+ }
return TK_WORD;
}
<St_Cite>{BLANK} { // white space