@@ -38,7 +38,8 @@ module Text.Pandoc.Readers.Man (readMan) where
3838import Prelude
3939import Control.Monad (liftM, void, mzero, guard)
4040import Control.Monad.Except (throwError)
41−import Text.Pandoc.Class (getResourcePath, readFileFromDirs)
41+import Text.Pandoc.Class
42+ (getResourcePath, readFileFromDirs, PandocMonad(..), report)
4243import Data.Char (isHexDigit, chr, ord)
4344import Data.Default (Default)
4445import Data.Maybe (catMaybes)
@@ -47,14 +48,13 @@ import Data.Set (Set)
4748import qualified Data.Set as S
4849import Data.List (intersperse, intercalate)
4950import qualified Data.Text as T
50−import Text.Pandoc.Class (PandocMonad(..), report)
5151import Text.Pandoc.Builder as B
5252import Text.Pandoc.Error (PandocError (PandocParsecError))
5353import Text.Pandoc.Logging (LogMessage(..))
5454import Text.Pandoc.Options
5555import Text.Pandoc.Parsing
5656import Text.Pandoc.Shared (crFilter, safeRead)
57−import Text.Parsec hiding (tokenPrim, space)
57+import Text.Parsec hiding (tokenPrim)
5858import qualified Text.Parsec as Parsec
5959import Text.Parsec.Pos (updatePosString)
6060import Text.Pandoc.GroffChar (characterCodes, combiningAccents)
@@ -138,7 +138,7 @@ readMan opts txt = do
138138 -> [ManToken] -- ^ input
139139 -> m (Either PandocError a)
140140 readWithMTokens parser state input =
141− let leftF = PandocParsecError . (intercalate "\n") $ show <$> input
141+ let leftF = PandocParsecError . intercalate "\n" $ show <$> input
142142 in mapLeft leftF `liftM` runParserT parser state "source" input
143143
144144 mapLeft :: (a -> c) -> Either a b -> Either c b
@@ -498,7 +498,7 @@ msatisfy predic = tokenPrim show nextPos testTok
498498 testTok t = if predic t then Just t else Nothing
499499 nextPos pos _x _xs = updatePosString
500500 (setSourceColumn
501− (setSourceLine pos $ sourceLine pos + 1) 1) ("")
501+ (setSourceLine pos $ sourceLine pos + 1) 1) ""
502502
503503mtoken :: PandocMonad m => ManParser m ManToken
504504mtoken = msatisfy (const True)
@@ -521,7 +521,7 @@ mmacro mk = msatisfy isMMacro where
521521
522522mmacroAny :: PandocMonad m => ManParser m ManToken
523523mmacroAny = msatisfy isMMacro where
524− isMMacro (MMacro _ _ _) = True
524+ isMMacro (MMacro{}) = True
525525 isMMacro _ = False
526526
527527--
@@ -639,7 +639,7 @@ parseAlternatingFonts constructors args = return $ mconcat $
639639lineInl :: PandocMonad m => ManParser m Inlines
640640lineInl = do
641641 (MLine fragments) <- mline
642− return $ linePartsToInlines $ fragments
642+ return $ linePartsToInlines fragments
643643
644644bareIP :: PandocMonad m => ManParser m ManToken
645645bareIP = msatisfy isBareIP where
@@ -667,11 +667,9 @@ parseHeader :: PandocMonad m => ManParser m Blocks
667667parseHeader = do
668668 MMacro name args _ <- mmacro "SH" <|> mmacro "SS"
669669 contents <- if null args
670− then do
671− lineInl
672− else do
673− return $
674− mconcat $ intersperse B.space $ map linePartsToInlines args
670+ then lineInl
671+ else return $ mconcat $ intersperse B.space
672+ $ map linePartsToInlines args
675673 let lvl = if name == "SH" then 1 else 2
676674 return $ header lvl contents
677675
@@ -704,7 +702,7 @@ listItem mbListType = try $ do
704702 guard $ listTypeMatches mbListType lt
705703 inls <- parseInlines
706704 continuations <- mconcat <$> many continuation
707− return $ (lt, para inls <> continuations)
705+ return (lt, para inls <> continuations)
708706 [] -> mzero
709707
710708parseList :: PandocMonad m => ManParser m Blocks
@@ -721,7 +719,7 @@ continuation = (do
721719 bs <- mconcat <$> many (notFollowedBy (mmacro "RE") >> parseBlock)
722720 mmacro "RE"
723721 return bs)
724− <|> mconcat <$> (many1 (try (bareIP *> parsePara)))
722+ <|> mconcat <$> many1 (try (bareIP *> parsePara))
725723
726724definitionListItem :: PandocMonad m
727725 => ManParser m (Inlines, [Blocks])
@@ -730,7 +728,7 @@ definitionListItem = try $ do
730728 term <- parseInline
731729 inls <- parseInlines
732730 continuations <- mconcat <$> many continuation
733− return $ (term, [para inls <> continuations])
731+ return (term, [para inls <> continuations])
734732
735733parseDefinitionList :: PandocMonad m => ManParser m Blocks
736734parseDefinitionList = definitionList <$> many1 definitionListItem