diff options
author | Jad Altahan <xviyy@aol.com> | 2019-01-13 17:55:32 +1100 |
---|---|---|
committer | Jad Altahan <xviyy@aol.com> | 2019-01-13 17:55:32 +1100 |
commit | 23bcda19cef8666d1a4063b5a69b0836538bb076 (patch) | |
tree | d6842599985956e436c117c67ca1d0a3496f8b18 /lexers/LexNim.cxx | |
parent | 3e46dafe55b841270f344a393e8daa5e8f9db9b5 (diff) | |
download | scintilla-mirror-23bcda19cef8666d1a4063b5a69b0836538bb076.tar.gz |
Feature [feature-requests:#1254]. Fix bug causing fold line creation in comments
Diffstat (limited to 'lexers/LexNim.cxx')
-rw-r--r-- | lexers/LexNim.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lexers/LexNim.cxx b/lexers/LexNim.cxx index 68b20fcc3..52a8c7fd7 100644 --- a/lexers/LexNim.cxx +++ b/lexers/LexNim.cxx @@ -99,10 +99,8 @@ int GetIndent(const Sci_Position line, Accessor &styler) { bool inPrevPrefix = line > 0; Sci_Position posPrev = inPrevPrefix ? styler.LineStart(line - 1) : 0; - // No fold points inside block comments and triple literals - while ((IsASpaceOrTab(ch) - || IsStreamComment(style) - || IsTripleLiteral(style)) && (startPos < eolPos)) { + // No fold points inside triple literals + while ((IsASpaceOrTab(ch) || IsTripleLiteral(style)) && (startPos < eolPos)) { if (inPrevPrefix) { char chPrev = styler[posPrev++]; if (chPrev != ' ' && chPrev != '\t') { @@ -121,11 +119,14 @@ int GetIndent(const Sci_Position line, Accessor &styler) { style = styler.StyleAt(startPos); } - indent += SC_FOLDLEVELBASE; + // Prevent creating fold lines for comments if indented + if (!(IsStreamComment(style) || IsLineComment(style))) + indent += SC_FOLDLEVELBASE; if (styler.LineStart(line) == styler.Length() || IsASpaceOrTab(ch) || IsNewline(ch) + || IsStreamComment(style) || IsLineComment(style)) { return indent | SC_FOLDLEVELWHITEFLAG; } else { |