diff options
Diffstat (limited to 'src/KeyWords.cxx')
-rw-r--r-- | src/KeyWords.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/KeyWords.cxx b/src/KeyWords.cxx index 265dbf565..d954a64e2 100644 --- a/src/KeyWords.cxx +++ b/src/KeyWords.cxx @@ -68,8 +68,15 @@ void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle, void LexerModule::Fold(unsigned int startPos, int lengthDoc, int initStyle, WordList *keywordlists[], Accessor &styler) { - if (fnFolder) + if (fnFolder) { + int lineCurrent = styler.GetLine(startPos); + // Move back one line in case deletion wrecked current line fold state + if (lineCurrent > 0) { + lineCurrent--; + startPos = styler.LineStart(lineCurrent); + } fnFolder(startPos, lengthDoc, initStyle, keywordlists, styler); + } } static void ColouriseNullDoc(unsigned int startPos, int length, int, WordList *[], |