aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikolay Yakimov <root@livid.pp.ru>2020-04-16 02:20:01 +0300
committerGitHub <noreply@github.com>2020-04-15 16:20:01 -0700
commit83c1ce1d77d3ef058e4e5c645a8eb0379fab780f (patch)
treed51a2d822bd147127695dd362d4875bae76628bd /src
parentb64ece76cb9f21e41b19678dc8ae247dbe9ab4cc (diff)
downloadpandoc-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')
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs17
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))
<|>