aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Parsing.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-04-17 18:55:35 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2015-04-17 18:55:35 -0700
commitfb143be038810f7265f6254177437c23e54222ca (patch)
treeb122c0b2d4eb0b9ccd74bef4513d80e0d979cf4c /src/Text/Pandoc/Parsing.hs
parent9ad336f586542cd8af30f2e16d2c935fb0f97a3e (diff)
parent4229cf2d92faf5774fe1a3a9c89a5de885cf75cd (diff)
downloadpandoc-fb143be038810f7265f6254177437c23e54222ca.tar.gz
Merge pull request #2092 from lierdakil/issue1909
MD Reader: Smart apostrophe after inline math
Diffstat (limited to 'src/Text/Pandoc/Parsing.hs')
-rw-r--r--src/Text/Pandoc/Parsing.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index c18aa331f..d30c74230 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -161,7 +161,8 @@ module Text.Pandoc.Parsing ( anyLine,
setSourceColumn,
setSourceLine,
newPos,
- addWarning
+ addWarning,
+ (<+?>)
)
where
@@ -1245,3 +1246,7 @@ addWarning mbpos msg =
generalize :: (Monad m) => Parser s st a -> ParserT s st m a
generalize m = mkPT (\ s -> (return $ (return . runIdentity) <$> runIdentity (runParsecT m s)))
+
+infixr 5 <+?>
+(<+?>) :: (Monoid a, Monad m) => ParserT s st m a -> ParserT s st m a -> ParserT s st m a
+a <+?> b = a >>= flip fmap (try b <|> return mempty) . (<>)