aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2013-11-17 10:12:19 +1100
committerNeil <nyamatongwe@gmail.com>2013-11-17 10:12:19 +1100
commit8ce7c65de97a26688e8f4b7cc1757ae592204a98 (patch)
tree42bbd2eabace00a833713e35b25928f0cceff4cd
parent962d030039f367c540a0521a0c94c9ef5fdeaeea (diff)
downloadscintilla-mirror-8ce7c65de97a26688e8f4b7cc1757ae592204a98.tar.gz
Bug [#1551]. Doxygen keywords @code{.fileExtension} and @param[in,out] are split.
From Alpha.
-rw-r--r--lexers/LexCPP.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx
index c1765f6f3..40a6ae212 100644
--- a/lexers/LexCPP.cxx
+++ b/lexers/LexCPP.cxx
@@ -515,6 +515,7 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,
bool isIncludePreprocessor = false;
bool isStringInPreprocessor = false;
bool inRERange = false;
+ bool seenDocKeyBrace = false;
int lineCurrent = styler.GetLine(startPos);
if ((MaskActive(initStyle) == SCE_C_PREPROCESSOR) ||
@@ -757,7 +758,11 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,
sc.ChangeState(SCE_C_COMMENTDOCKEYWORDERROR);
sc.Forward();
sc.ForwardSetState(SCE_C_DEFAULT|activitySet);
- } else if (!setDoxygen.Contains(sc.ch)) {
+ seenDocKeyBrace = false;
+ } else if (sc.ch == '[' || sc.ch == '{') {
+ seenDocKeyBrace = true;
+ } else if (!setDoxygen.Contains(sc.ch)
+ && !(seenDocKeyBrace && (sc.ch == ',' || sc.ch == '.'))) {
char s[100];
if (caseSensitive) {
sc.GetCurrent(s, sizeof(s));
@@ -775,6 +780,7 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,
}
}
sc.SetState(styleBeforeDCKeyword|activitySet);
+ seenDocKeyBrace = false;
}
break;
case SCE_C_STRING: