From 6390103509caba5930c8ac45d31364b244607547 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 18 Nov 2010 14:16:18 -0800 Subject: Markdown citation parser: small refactoring for clarity. --- src/Text/Pandoc/Readers/Markdown.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 851cf25e7..d59f8a71a 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1325,6 +1325,10 @@ blankSpace = try $ do guard $ length res > 0 guard $ length (filter (=='\n') res) <= 1 +noneOfUnlessEscaped :: [Char] -> GenParser Char st Char +noneOfUnlessEscaped cs = + try (char '\\' >> oneOf cs) <|> noneOf cs + textualCite :: GenParser Char ParserState [Citation] textualCite = try $ do (_, key) <- citeKey @@ -1382,7 +1386,7 @@ locator = try $ do locatorWord :: GenParser Char st String locatorWord = try $ do spnl - wd <- many1 $ (try $ char '\\' >> oneOf "];, \t\n") <|> noneOf "];, \t\n" + wd <- many1 $ noneOfUnlessEscaped "];, \t\n" guard $ any isDigit wd return wd -- cgit v1.2.3