From 4ce6471c12d779699588deb30344aa2bfe62fd41 Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Mon, 2 Feb 2015 10:38:30 +0000 Subject: Factor out "returnState" into Parsing module --- src/Text/Pandoc/Readers/Markdown.hs | 9 +-------- src/Text/Pandoc/Readers/Org.hs | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 2d7b34607..e2f2c9268 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -81,17 +81,10 @@ readMarkdownWithWarnings :: ReaderOptions -- ^ Reader options -> (Pandoc, [String]) readMarkdownWithWarnings opts s = runMarkdown opts s (returnWarnings parseMarkdown) - -retState :: MarkdownParser a -> MarkdownParser (a, ParserState) -retState p = do - r <- p - s <- getState - return (r, s) - runMarkdown :: ReaderOptions -> String -> MarkdownParser a -> a runMarkdown opts inp p = fst res where - imd = readWithM (retState p) def{ stateOptions = opts } (inp ++ "\n\n") + imd = readWithM (returnState p) def{ stateOptions = opts } (inp ++ "\n\n") res = runReader imd s s :: ParserState s = snd $ runReader imd s diff --git a/src/Text/Pandoc/Readers/Org.hs b/src/Text/Pandoc/Readers/Org.hs index b21d2cc11..457db200b 100644 --- a/src/Text/Pandoc/Readers/Org.hs +++ b/src/Text/Pandoc/Readers/Org.hs @@ -74,18 +74,11 @@ type OrgParser = ParserT [Char] OrgParserState (Reader OrgParserLocal) runOrg :: ReaderOptions -> String -> OrgParser a -> a runOrg opts inp p = fst res where - imd = readWithM (retState p) def{ orgStateOptions = opts } (inp ++ "\n\n") + imd = readWithM (returnState p) def{ orgStateOptions = opts } (inp ++ "\n\n") res = runReader imd def { finalState = s } s :: OrgParserState s = snd $ runReader imd (def { finalState = s }) -retState :: OrgParser a -> OrgParser (a, OrgParserState) -retState p = do - r <- p - s <- getState - return (r, s) - - parseOrg :: OrgParser Pandoc parseOrg = do blocks' <- parseBlocks -- cgit v1.2.3