mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-10 06:54:16 +00:00
Fix option lists with additional indentation in Markdown (#21633)
This is more Markdown-ish way to fix issue #21055, then PR #21625. It does not enable RST definition lists, instead it makes adding additional indentation (less than 4) right after a paragraph be ignored, as it's done for all block elements in Markdown. (In this case this tenet is applied to option lists that are not part of CommonMark spec by themselves).
This commit is contained in:
@@ -2447,7 +2447,9 @@ proc parseParagraph(p: var RstParser, result: PRstNode) =
|
||||
result.addIfNotNil(parseLineBlock(p))
|
||||
of rnMarkdownBlockQuote:
|
||||
result.addIfNotNil(parseMarkdownBlockQuote(p))
|
||||
else: break
|
||||
else:
|
||||
dec p.idx # allow subsequent block to be parsed as another section
|
||||
break
|
||||
else:
|
||||
break
|
||||
of tkPunct:
|
||||
|
||||
@@ -689,6 +689,32 @@ suite "RST parsing":
|
||||
rnLeaf 'desc2'
|
||||
""")
|
||||
|
||||
test "definition lists work correctly with additional indentation in Markdown":
|
||||
check(dedent"""
|
||||
Paragraph:
|
||||
-c desc1
|
||||
-b desc2
|
||||
""".toAst() ==
|
||||
dedent"""
|
||||
rnInner
|
||||
rnInner
|
||||
rnLeaf 'Paragraph'
|
||||
rnLeaf ':'
|
||||
rnOptionList
|
||||
rnOptionListItem order=1
|
||||
rnOptionGroup
|
||||
rnLeaf '-'
|
||||
rnLeaf 'c'
|
||||
rnDescription
|
||||
rnLeaf 'desc1'
|
||||
rnOptionListItem order=2
|
||||
rnOptionGroup
|
||||
rnLeaf '-'
|
||||
rnLeaf 'b'
|
||||
rnDescription
|
||||
rnLeaf 'desc2'
|
||||
""")
|
||||
|
||||
test "RST comment":
|
||||
check(dedent"""
|
||||
.. comment1
|
||||
|
||||
Reference in New Issue
Block a user