diff options
author | Neil <nyamatongwe@gmail.com> | 2013-11-17 10:12:19 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2013-11-17 10:12:19 +1100 |
commit | 8ce7c65de97a26688e8f4b7cc1757ae592204a98 (patch) | |
tree | 42bbd2eabace00a833713e35b25928f0cceff4cd | |
parent | 962d030039f367c540a0521a0c94c9ef5fdeaeea (diff) | |
download | scintilla-mirror-8ce7c65de97a26688e8f4b7cc1757ae592204a98.tar.gz |
Bug [#1551]. Doxygen keywords @code{.fileExtension} and @param[in,out] are split.
From Alpha.
-rw-r--r-- | lexers/LexCPP.cxx | 8 |
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: |