diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/LexBasic.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/LexBasic.cxx b/src/LexBasic.cxx index 4a1843aa0..79ba2b891 100644 --- a/src/LexBasic.cxx +++ b/src/LexBasic.cxx @@ -147,7 +147,7 @@ static void ColouriseBasicDoc(unsigned int startPos, int length, int initStyle, sc.ChangeState(SCE_B_ERROR); sc.SetState(SCE_B_DEFAULT); } - } else if (sc.state == SCE_B_COMMENT) { + } else if (sc.state == SCE_B_COMMENT || sc.state == SCE_B_PREPROCESSOR) { if (sc.atLineEnd) { sc.SetState(SCE_B_DEFAULT); } @@ -163,7 +163,12 @@ static void ColouriseBasicDoc(unsigned int startPos, int length, int initStyle, wasfirst = isfirst; sc.SetState(SCE_B_IDENTIFIER); } else if (sc.Match(comment_char)) { - sc.SetState(SCE_B_COMMENT); + // Hack to make deprecated QBASIC '$Include show + // up in freebasic with SCE_B_PREPROCESSOR. + if (comment_char == '\'' && sc.Match(comment_char, '$')) + sc.SetState(SCE_B_PREPROCESSOR); + else + sc.SetState(SCE_B_COMMENT); } else if (sc.Match('"')) { sc.SetState(SCE_B_STRING); } else if (IsDigit(sc.ch)) { |