@@ -201,19 +201,18 @@ parseFormatSpec = parse formatSpec ""
201 '-' -> Set.delete ext
201 '-' -> Set.delete ext
202 _ -> Set.insert ext
202 _ -> Set.insert ext
204−-- auxiliary function for readers:
205−markdown :: ReaderOptions -> String -> IO Pandoc
207− let (doc, warnings) = readMarkdownWithWarnings o s
211data Reader = StringReader (ReaderOptions -> String -> IO Pandoc)
204data Reader = StringReader (ReaderOptions -> String -> IO Pandoc)
212 | ByteStringReader (ReaderOptions -> BL.ByteString -> IO (Pandoc, MediaBag))
205 | ByteStringReader (ReaderOptions -> BL.ByteString -> IO (Pandoc, MediaBag))
214mkStringReader :: (ReaderOptions -> String -> Pandoc) -> Reader
207mkStringReader :: (ReaderOptions -> String -> Pandoc) -> Reader
215mkStringReader r = StringReader (\o s -> return $ r o s)
208mkStringReader r = StringReader (\o s -> return $ r o s)
210+mkStringReaderWithWarnings :: (ReaderOptions -> String -> (Pandoc, [String])) -> Reader
211+mkStringReaderWithWarnings r = StringReader $ \o s -> do
212+ let (doc, warnings) = r o s
217mkBSReader :: (ReaderOptions -> BL.ByteString -> (Pandoc, MediaBag)) -> Reader
216mkBSReader :: (ReaderOptions -> BL.ByteString -> (Pandoc, MediaBag)) -> Reader
218mkBSReader r = ByteStringReader (\o s -> return $ r o s)
217mkBSReader r = ByteStringReader (\o s -> return $ r o s)
@@ -221,12 +220,12 @@ mkBSReader r = ByteStringReader (\o s -> return $ r o s)
221readers :: [(String, Reader)]
220readers :: [(String, Reader)]
222readers = [ ("native" , StringReader $ \_ s -> return $ readNative s)
221readers = [ ("native" , StringReader $ \_ s -> return $ readNative s)
223 ,("json" , mkStringReader readJSON )
222 ,("json" , mkStringReader readJSON )
224− ,("markdown" , StringReader markdown)
223+ ,("markdown" , mkStringReaderWithWarnings readMarkdownWithWarnings)
225− ,("markdown_strict" , StringReader markdown)
224+ ,("markdown_strict" , mkStringReaderWithWarnings readMarkdownWithWarnings)
226− ,("markdown_phpextra" , StringReader markdown)
225+ ,("markdown_phpextra" , mkStringReaderWithWarnings readMarkdownWithWarnings)
227− ,("markdown_github" , StringReader markdown)
226+ ,("markdown_github" , mkStringReaderWithWarnings readMarkdownWithWarnings)
228− ,("markdown_mmd", StringReader markdown)
227+ ,("markdown_mmd", mkStringReaderWithWarnings readMarkdownWithWarnings)
229− ,("rst" , mkStringReader readRST )
228+ ,("rst" , mkStringReaderWithWarnings readRSTWithWarnings )
230 ,("mediawiki" , mkStringReader readMediaWiki)
229 ,("mediawiki" , mkStringReader readMediaWiki)
231 ,("docbook" , mkStringReader readDocBook)
230 ,("docbook" , mkStringReader readDocBook)
232 ,("opml" , mkStringReader readOPML)
231 ,("opml" , mkStringReader readOPML)