diff options
-rw-r--r-- | src/LexPascal.cxx | 8 | ||||
-rw-r--r-- | src/LexPerl.cxx | 2 | ||||
-rw-r--r-- | src/LexRuby.cxx | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/LexPascal.cxx b/src/LexPascal.cxx index 2cf1b40f2..371043d94 100644 --- a/src/LexPascal.cxx +++ b/src/LexPascal.cxx @@ -405,8 +405,8 @@ static unsigned int SkipWhiteSpace(unsigned int currentPos, unsigned int endPos, CharacterSet setWord(CharacterSet::setAlphaNum, "_"); unsigned int j = currentPos + 1; char ch = styler.SafeGetCharAt(j); - while ((j < endPos) && (IsASpaceOrTab(ch) || ch == '\r' || ch == '\n') || - IsStreamCommentStyle(styler.StyleAt(j)) || (includeChars && setWord.Contains(ch))) { + while ((j < endPos) && (IsASpaceOrTab(ch) || ch == '\r' || ch == '\n' || + IsStreamCommentStyle(styler.StyleAt(j)) || (includeChars && setWord.Contains(ch)))) { j++; ch = styler.SafeGetCharAt(j); } @@ -473,8 +473,8 @@ static void ClassifyPascalWordFoldPoint(int &levelCurrent, int &lineFoldStateCur bool ignoreKeyword = true; unsigned int j = lastStart - 1; char ch = styler.SafeGetCharAt(j); - while ((j >= startPos) && (IsASpaceOrTab(ch) || ch == '\r' || ch == '\n') || - IsStreamCommentStyle(styler.StyleAt(j))) { + while ((j >= startPos) && (IsASpaceOrTab(ch) || ch == '\r' || ch == '\n' || + IsStreamCommentStyle(styler.StyleAt(j)))) { j--; ch = styler.SafeGetCharAt(j); } diff --git a/src/LexPerl.cxx b/src/LexPerl.cxx index f57f73c29..4b7c9878a 100644 --- a/src/LexPerl.cxx +++ b/src/LexPerl.cxx @@ -569,7 +569,7 @@ static void ColourisePerlDoc(unsigned int startPos, int length, int initStyle, sc.Forward(ws_skip + 1); HereDoc.Quote = delim_ch; HereDoc.Quoted = true; - } else if (ws_skip == 0 && setNonHereDoc.Contains(sc.chNext) + } else if ((ws_skip == 0 && setNonHereDoc.Contains(sc.chNext)) || ws_skip > 0) { // left shift << or <<= operator cases // restore position if operator diff --git a/src/LexRuby.cxx b/src/LexRuby.cxx index 7cb0b95c1..8d6dc90b8 100644 --- a/src/LexRuby.cxx +++ b/src/LexRuby.cxx @@ -784,13 +784,13 @@ static void ColouriseRbDoc(unsigned int startPos, int length, int initStyle, state = SCE_RB_COMMENTLINE; } else if (ch == '=') { // =begin indicates the start of a comment (doc) block - if (i == 0 || isEOLChar(chPrev) + if (i == 0 || (isEOLChar(chPrev) && chNext == 'b' && styler.SafeGetCharAt(i + 2) == 'e' && styler.SafeGetCharAt(i + 3) == 'g' && styler.SafeGetCharAt(i + 4) == 'i' && styler.SafeGetCharAt(i + 5) == 'n' - && !isSafeWordcharOrHigh(styler.SafeGetCharAt(i + 6))) { + && !isSafeWordcharOrHigh(styler.SafeGetCharAt(i + 6)))) { styler.ColourTo(i - 1, state); state = SCE_RB_POD; } else { |