Browse Source

highlighter: bug fix about HTML comments inside a fenced code block

Le Tan 7 years ago
parent
commit
d59a1010c5
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/hgmarkdownhighlighter.cpp

+ 6 - 1
src/hgmarkdownhighlighter.cpp

@@ -169,8 +169,13 @@ void HGMarkdownHighlighter::highlightBlock(const QString &text)
     // Set current block's user data.
     updateBlockUserData(blockNum, text);
 
+    int preState = previousBlockState();
+    bool inCodeblock = preState == HighlightBlockState::CodeBlock
+                       || preState == HighlightBlockState::CodeBlockStart;
+
     // If it is a block inside HTML comment, just skip it.
-    if (isBlockInsideCommentRegion(curBlock)) {
+    // Pay attention to distinguish the HTML comments inside a fenced code block.
+    if (!inCodeblock && isBlockInsideCommentRegion(curBlock)) {
         setCurrentBlockState(HighlightBlockState::Comment);
         goto exit;
     }