diff options
-rw-r--r-- | lib/packages/docutils/rst.nim | 3 | ||||
-rw-r--r-- | tests/stdlib/trstgen.nim | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/packages/docutils/rst.nim b/lib/packages/docutils/rst.nim index 7dbcaf482..698d76da1 100644 --- a/lib/packages/docutils/rst.nim +++ b/lib/packages/docutils/rst.nim @@ -1737,7 +1737,8 @@ proc parseDirective(p: var RstParser, flags: DirFlags, ## ## .. warning:: Any of the 3 children may be nil. result = parseDirective(p, flags) - if not isNil(contentParser): + if not isNil(contentParser) and + (currentTok(p).kind != tkIndent or indFollows(p)): var nextIndent = p.tok[tokenAfterNewline(p)-1].ival if nextIndent <= currInd(p): # parse only this line nextIndent = currentTok(p).col diff --git a/tests/stdlib/trstgen.nim b/tests/stdlib/trstgen.nim index c3388ab7d..54a3db202 100644 --- a/tests/stdlib/trstgen.nim +++ b/tests/stdlib/trstgen.nim @@ -535,6 +535,17 @@ Test1 doAssert count(output1, "<ul ") == 1 doAssert count(output1, "</ul>") == 1 + test "Nim (RST extension) code-block": + # check that presence of fields doesn't consume the following text as + # its code (which is a literal block) + let input0 = dedent """ + .. code-block:: nim + :number-lines: 0 + + Paragraph1""" + let output0 = rstToHtml(input0, {roSupportMarkdown}, defaultConfig()) + doAssert "<p>Paragraph1</p>" in output0 + test "RST admonitions": # check that all admonitions are implemented let input0 = dedent """ |