diff options
author | John MacFarlane <jgm@berkeley.edu> | 2019-08-23 09:16:31 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-08-23 09:16:54 -0700 |
commit | 1c71bd1ff549737663ddf84e33276ddf8e926b39 (patch) | |
tree | c1e349ed420025c894da341ed9f7be7ca5ac9357 | |
parent | 9b5082b086359a63b92bdb40166fa59dea27afe1 (diff) | |
download | pandoc-1c71bd1ff549737663ddf84e33276ddf8e926b39.tar.gz |
Ensure proper nesting when we have long ordered list markers.
Closes #5705.
-rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 7 | ||||
-rw-r--r-- | test/command/5705.md | 11 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 23d0341da..7f30edf1f 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -768,15 +768,18 @@ orderedListItemToMarkdown :: PandocMonad m orderedListItemToMarkdown opts marker bs = do let exts = writerExtensions opts contents <- blockListToMarkdown opts $ taskListItemToAscii exts bs - let sps = case length marker - writerTabStop opts of + let sps = case writerTabStop opts - length marker of n | n > 0 -> text $ replicate n ' ' _ -> text " " + let ind = if isEnabled Ext_four_space_rule opts + then writerTabStop opts + else max (writerTabStop opts) (length marker + 1) let start = text marker <> sps -- remove trailing blank line if item ends with a tight list let contents' = if itemEndsWithTightList bs then chomp contents <> cr else contents - return $ hang (writerTabStop opts) start $ contents' <> cr + return $ hang ind start $ contents' <> cr -- | Convert definition list item (label, list of blocks) to markdown. definitionListItemToMarkdown :: PandocMonad m diff --git a/test/command/5705.md b/test/command/5705.md new file mode 100644 index 000000000..589910669 --- /dev/null +++ b/test/command/5705.md @@ -0,0 +1,11 @@ +``` +% pandoc -f native -t markdown +[OrderedList (8,UpperRoman,Period) + [[Plain [Str "Blah"] + ,BulletList + [[Plain [Str "Blah"]]]]]] +^D +VIII. Blah + - Blah +``` + |