diff options
-rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
-rw-r--r-- | lexers/LexProgress.cxx | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index b48700be2..a8bad7678 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -530,6 +530,10 @@ Lexer added for "indent" language which is styled as plain text but folded by indentation level. </li> <li> + The Progress ABL lexer handles nested comments where comment starts or ends + are adjacent like "/*/*" or "*/*/". + </li> + <li> The VHDL folder folds an "entity" on the first line of the file. </li> <li> diff --git a/lexers/LexProgress.cxx b/lexers/LexProgress.cxx index 84956cd34..c82ca93ca 100644 --- a/lexers/LexProgress.cxx +++ b/lexers/LexProgress.cxx @@ -277,10 +277,15 @@ void SCI_METHOD LexerABL::Lex(Sci_PositionU startPos, Sci_Position length, int i // commentNestingLevel is a non-visible state, used to identify the nesting level of a comment if (checkCommentNestingLevel) { - if (chPrev == '/' && ch == '*') + if (chPrev == '/' && ch == '*') { commentNestingLevel++; + // eat the '/' so we don't miscount a */ if we see /*/* + --back; + } if (chPrev == '*' && ch == '/') { commentNestingLevel--; + // eat the '*' so we don't miscount a /* if we see */*/ + --back; } } --back; |