diff options
author | Neil <nyamatongwe@gmail.com> | 2019-01-15 10:37:34 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2019-01-15 10:37:34 +1100 |
commit | 8a5808c87b93c49e1fca9b730b5e8558d4a55228 (patch) | |
tree | deda6efced2b142de131e93ea89cc7b9d5767178 | |
parent | ab5c76987236758992f0e7236f04ff527750a98a (diff) | |
download | scintilla-mirror-8a5808c87b93c49e1fca9b730b5e8558d4a55228.tar.gz |
Backport: Treat "#if(" as preprocessor directive "#if" followed by operator "(".
Backport of changeset 7233:e08fe2381ca3.
-rw-r--r-- | doc/ScintillaHistory.html | 5 | ||||
-rw-r--r-- | lexers/LexCPP.cxx | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index f801fd477..bf31ff711 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -549,6 +549,11 @@ Released 10 January 2019. </li> <li> + The C++ lexer, with styling.within.preprocessor on, now interprets "(" in preprocessor "#if(" + as an operator instead of part of the directive. This improves folding as well which could become + unbalanced. + </li> + <li> Fix raw strings in nim. <a href="https://sourceforge.net/p/scintilla/feature-requests/1253/">Feature #1253</a>. </li> diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index d6637784a..e2d47de6f 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -950,7 +950,7 @@ void SCI_METHOD LexerCPP::Lex(Sci_PositionU startPos, Sci_Position length, int i break; case SCE_C_PREPROCESSOR: if (options.stylingWithinPreprocessor) { - if (IsASpace(sc.ch)) { + if (IsASpace(sc.ch) || (sc.ch == '(')) { sc.SetState(SCE_C_DEFAULT|activitySet); } } else if (isStringInPreprocessor && (sc.Match('>') || sc.Match('\"') || sc.atLineEnd)) { |