diff options
author | Nikolay Yakimov <root@livid.pp.ru> | 2020-04-16 02:20:01 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 16:20:01 -0700 |
commit | 83c1ce1d77d3ef058e4e5c645a8eb0379fab780f (patch) | |
tree | d51a2d822bd147127695dd362d4875bae76628bd /src/Text/Pandoc/Readers | |
parent | b64ece76cb9f21e41b19678dc8ae247dbe9ab4cc (diff) | |
download | pandoc-83c1ce1d77d3ef058e4e5c645a8eb0379fab780f.tar.gz |
Markdown Reader: Fix inline code in lists (#6284)
Closes #6284.
Previously inline code containing list markers was sometimes parsed incorrectly.
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index c9643f1b0..66f4df341 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1517,12 +1517,17 @@ code :: PandocMonad m => MarkdownParser m (F Inlines) code = try $ do starts <- many1 (char '`') skipSpaces - result <- (trim . T.concat) <$> - manyTill (notFollowedBy (inList >> listStart) >> - (many1Char (noneOf "`\n") <|> many1Char (char '`') <|> - (char '\n' >> notFollowedBy' blankline >> return " "))) - (try (skipSpaces >> count (length starts) (char '`') >> - notFollowedBy (char '`'))) + result <- trim . T.concat + <$> manyTill + ( many1Char (noneOf "`\n") + <|> many1Char (char '`') + <|> (char '\n' + >> notFollowedBy (inList >> listStart) + >> notFollowedBy' blankline + >> return " ")) + (try $ skipSpaces + >> count (length starts) (char '`') + >> notFollowedBy (char '`')) rawattr <- (Left <$> try (guardEnabled Ext_raw_attribute >> rawAttribute)) <|> |