git.iko.soy/typeable/pandoc
on master help sign in
Markdown citation parser: small refactoring for clarity.
commit6390103509caba5930c8ac45d31364b244607547 authorJohn MacFarlane <jgm@berkeley.edu> dateThu 18 Nov 2010, 14:16 (16 years ago) parentbbb60a2
1 file changed+5−1
src/Text/Pandoc/Readers/Markdown.hs+5−1
src/Text/Pandoc/Readers/Markdown.hs+5−1
@@ -1325,6 +1325,10 @@ blankSpace = try $ do
13251325 guard $ length res > 0
13261326 guard $ length (filter (=='\n') res) <= 1
13271327
1328+noneOfUnlessEscaped :: [Char] -> GenParser Char st Char
1329+noneOfUnlessEscaped cs =
1330+ try (char '\\' >> oneOf cs) <|> noneOf cs
1331+
13281332textualCite :: GenParser Char ParserState [Citation]
13291333textualCite = try $ do
13301334 (_, key) <- citeKey
@@ -1382,7 +1386,7 @@ locator = try $ do
13821386locatorWord :: GenParser Char st String
13831387locatorWord = try $ do
13841388 spnl
1385− wd <- many1 $ (try $ char '\\' >> oneOf "];, \t\n") <|> noneOf "];, \t\n"
1389+ wd <- many1 $ noneOfUnlessEscaped "];, \t\n"
13861390 guard $ any isDigit wd
13871391 return wd
13881392