@@ -15,15 +15,14 @@ import Prelude hiding (takeWhile)
1515import Control.Applicative
1616import Data.Monoid
1717import Control.Monad
18- import qualified Data.Map as M
1918import Data.Text (Text )
2019import qualified Data.Text as T
2120import qualified Data.Set as Set
2221
2322-- Returns tag type and whole tag.
2423pHtmlTag :: Parser (HtmlTagType , Text )
2524pHtmlTag = do
26- char ' <'
25+ _ <- char ' <'
2726 -- do not end the tag with a > character in a quoted attribute.
2827 closing <- (char ' /' >> return True ) <|> return False
2928 tagname <- takeWhile1 (\ c -> isAsciiAlphaNum c || c == ' ?' || c == ' !' )
@@ -37,7 +36,7 @@ pHtmlTag = do
3736 return $ ss <> T. singleton x <> xs <> " =" <> v
3837 attrs <- T. concat <$> many attr
3938 final <- takeWhile (\ c -> isSpace c || c == ' /' )
40- char ' >'
39+ _ <- char ' >'
4140 let tagtype = if closing
4241 then Closing tagname'
4342 else case T. stripSuffix " /" final of
@@ -58,7 +57,7 @@ pQuoted c = do
5857-- do for now.
5958pHtmlComment :: Parser Text
6059pHtmlComment = do
61- string " <!--"
60+ _ <- string " <!--"
6261 rest <- manyTill anyChar (string " -->" )
6362 return $ " <!--" <> T. pack rest <> " -->"
6463
@@ -119,7 +118,7 @@ pLinkTitle = do
119118pReference :: Parser (Text , Text , Text )
120119pReference = do
121120 lab <- pLinkLabel
122- char ' :'
121+ _ <- char ' :'
123122 scanSpnl
124123 url <- pLinkUrl
125124 tit <- option T. empty $ scanSpnl >> pLinkTitle
@@ -240,7 +239,7 @@ schemeSet = Set.fromList $ schemes ++ map T.toUpper schemes
240239-- Parse a URI, using heuristics to avoid capturing final punctuation.
241240pUri :: Text -> Parser Inlines
242241pUri scheme = do
243- char ' :'
242+ _ <- char ' :'
244243 x <- scan (OpenParens 0 ) uriScanner
245244 guard $ not $ T. null x
246245 let (rawuri, endingpunct) =
@@ -345,18 +344,13 @@ pLink refmap = do
345344-- An inline link: [label](/url "optional title")
346345pInlineLink :: Inlines -> Parser Inlines
347346pInlineLink lab = do
348- char ' ('
347+ _ <- char ' ('
349348 scanSpaces
350349 url <- pLinkUrl
351350 tit <- option " " $ scanSpnl *> pLinkTitle <* scanSpaces
352- char ' )'
351+ _ <- char ' )'
353352 return $ singleton $ Link lab (Url url) tit
354353
355- lookupLinkReference :: ReferenceMap
356- -> Text -- reference label
357- -> Maybe (Text , Text ) -- (url, title)
358- lookupLinkReference refmap key = M. lookup (normalizeReference key) refmap
359-
360354-- A reference link: [label], [foo][label], or [label][].
361355pReferenceLink :: ReferenceMap -> Text -> Inlines -> Parser Inlines
362356pReferenceLink _ rawlab lab = do
@@ -367,7 +361,7 @@ pReferenceLink _ rawlab lab = do
367361-- An image: ! followed by a link.
368362pImage :: ReferenceMap -> Parser Inlines
369363pImage refmap = do
370- char ' !'
364+ _ <- char ' !'
371365 (linkToImage <$> pLink refmap) <|> return (singleton (Str " !" ))
372366
373367linkToImage :: Inlines -> Inlines
@@ -383,23 +377,23 @@ linkToImage ils =
383377-- convert them to characters and store them as Str inlines.
384378pEntity :: Parser Inlines
385379pEntity = do
386- char ' &'
380+ _ <- char ' &'
387381 res <- pCharEntity <|> pDecEntity <|> pHexEntity
388- char ' ;'
382+ _ <- char ' ;'
389383 return $ singleton $ Entity $ " &" <> res <> " ;"
390384
391385pCharEntity :: Parser Text
392386pCharEntity = takeWhile1 (\ c -> isAscii c && isLetter c)
393387
394388pDecEntity :: Parser Text
395389pDecEntity = do
396- char ' #'
390+ _ <- char ' #'
397391 res <- takeWhile1 isDigit
398392 return $ " #" <> res
399393
400394pHexEntity :: Parser Text
401395pHexEntity = do
402- char ' #'
396+ _ <- char ' #'
403397 x <- char ' X' <|> char ' x'
404398 res <- takeWhile1 isHexDigit
405399 return $ " #" <> T. singleton x <> res
0 commit comments