@@ -137,36 +137,9 @@ readMan opts txt = do
137 mapLeft _ (Right r) = Right r
137 mapLeft _ (Right r) = Right r
140−-- String -> ManToken function
140+-- Lexer: String -> ManToken
143−manToken :: PandocMonad m => ManLexer m ManTokens
144−manToken = lexComment <|> lexMacro <|> lexLine <|> lexEmptyLine
146−parseMan :: PandocMonad m => ManParser m Pandoc
148− bs <- many parseBlock <* eof
149− meta <- metadata <$> getState
150− let (Pandoc _ blocks) = doc $ mconcat bs
151− return $ Pandoc meta blocks
153−parseBlock :: PandocMonad m => ManParser m Blocks
154−parseBlock = choice [ parseList
155− , parseDefinitionList
165−parseNewParagraph :: PandocMonad m => ManParser m Blocks
166−parseNewParagraph = do
167− mmacro "P" <|> mmacro "PP" <|> mmacro "LP" <|> memptyLine
170eofline :: Stream s m Char => ParsecT s u m ()
143eofline :: Stream s m Char => ParsecT s u m ()
171eofline = void newline <|> eof
144eofline = void newline <|> eof
@@ -429,8 +402,35 @@ spaceTabChar = do
429lexEmptyLine :: PandocMonad m => ManLexer m ManTokens
402lexEmptyLine :: PandocMonad m => ManLexer m ManTokens
430lexEmptyLine = char '\n' >> return (singleTok MEmptyLine)
403lexEmptyLine = char '\n' >> return (singleTok MEmptyLine)
405+manToken :: PandocMonad m => ManLexer m ManTokens
406+manToken = lexComment <|> lexMacro <|> lexLine <|> lexEmptyLine
408+parseMan :: PandocMonad m => ManParser m Pandoc
410+ bs <- many parseBlock <* eof
411+ meta <- metadata <$> getState
412+ let (Pandoc _ blocks) = doc $ mconcat bs
413+ return $ Pandoc meta blocks
415+parseBlock :: PandocMonad m => ManParser m Blocks
416+parseBlock = choice [ parseList
417+ , parseDefinitionList
427+parseNewParagraph :: PandocMonad m => ManParser m Blocks
428+parseNewParagraph = do
429+ mmacro "P" <|> mmacro "PP" <|> mmacro "LP" <|> memptyLine
433−-- ManToken parsec functions
433+-- Parser: [ManToken] -> Pandoc
436msatisfy :: (Show t, Stream s m t) => (t -> Bool) -> ParserT s st m t
436msatisfy :: (Show t, Stream s m t) => (t -> Bool) -> ParserT s st m t