aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lexers/LexBaan.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/lexers/LexBaan.cxx b/lexers/LexBaan.cxx
index 8922df1ad..f6b90a63e 100644
--- a/lexers/LexBaan.cxx
+++ b/lexers/LexBaan.cxx
@@ -509,7 +509,8 @@ void SCI_METHOD LexerBaan::Lex(Sci_PositionU startPos, Sci_Position length, int
char word[1000];
int wordlen = 0;
- std::string preProcessorTags[11] = { "#define", "#elif", "#else", "#endif",
+ std::string preProcessorTags[13] = { "#context_off", "#context_on",
+ "#define", "#elif", "#else", "#endif",
"#ident", "#if", "#ifdef", "#ifndef",
"#include", "#pragma", "#undef" };
LexAccessor styler(pAccess);
@@ -690,7 +691,7 @@ void SCI_METHOD LexerBaan::Lex(Sci_PositionU startPos, Sci_Position length, int
word[wordlen++] = sc.ch;
word[wordlen++] = '\0';
}
- if (!wordInArray(word, preProcessorTags, 11))
+ if (!wordInArray(word, preProcessorTags, 13))
// Colorise only preprocessor built in Baan.
sc.ChangeState(SCE_BAAN_IDENTIFIER);
if (strcmp(word, "#pragma") == 0 || strcmp(word, "#include") == 0) {
@@ -802,9 +803,10 @@ void SCI_METHOD LexerBaan::Fold(Sci_PositionU startPos, Sci_Position length, int
else if (style == SCE_BAAN_PREPROCESSOR) {
// folds #ifdef/#if/#ifndef - they are not part of the IsPreProcLine folding.
if (ch == '#') {
- if (styler.Match(i, "#ifdef") || styler.Match(i, "#if") || styler.Match(i, "#ifndef"))
+ if (styler.Match(i, "#ifdef") || styler.Match(i, "#if") || styler.Match(i, "#ifndef")
+ || styler.Match(i, "#context_on"))
levelCurrent++;
- else if (styler.Match(i, "#endif"))
+ else if (styler.Match(i, "#endif") || styler.Match(i, "#context_off"))
levelCurrent--;
}
}