summaryrefslogtreecommitdiffstats
path: root/src/code.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/code.l')
-rw-r--r--src/code.l24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/code.l b/src/code.l
index 1052a03..aa1b9c7 100644
--- a/src/code.l
+++ b/src/code.l
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2007 by Dimitri van Heesch.
+ * Copyright (C) 1997-2008 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -1665,6 +1665,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
%option noyywrap
%x SkipString
+%x SkipStringS
%x SkipVerbString
%x SkipCPP
%x SkipComment
@@ -2334,18 +2335,33 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
g_inForEachExpression = FALSE;
BEGIN( SkipString );
}
+<FuncCall,Body,MemberCall,MemberCall2,SkipInits>\' {
+ startFontClass("stringliteral");
+ g_code->codify(yytext);
+ g_lastStringContext=YY_START;
+ g_inForEachExpression = FALSE;
+ BEGIN( SkipStringS );
+ }
<SkipString>[^\"\\\r\n]* {
g_code->codify(yytext);
}
-<SkipString>"//"|"/*" {
+<SkipStringS>[^\'\\\r\n]* {
g_code->codify(yytext);
}
-<SkipString>@?\" {
+<SkipString,SkipStringS>"//"|"/*" {
+ g_code->codify(yytext);
+ }
+<SkipString>@?\" {
+ g_code->codify(yytext);
+ endFontClass();
+ BEGIN( g_lastStringContext );
+ }
+<SkipStringS>\' {
g_code->codify(yytext);
endFontClass();
BEGIN( g_lastStringContext );
}
-<SkipString>\\. {
+<SkipString,SkipStringS>\\. {
g_code->codify(yytext);
}
<SkipVerbString>[^"\n]+ {