diff options
Diffstat (limited to 'src/LexBasic.cxx')
| -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)) { | 
