git.iko.soy/typeable/pandoc
on master help sign in
Improved code readability.
commitb53ea23b3f56a120937922f88f5f1fc3244067d9 authorJohn MacFarlane <fiddlosopher@gmail.com> dateWed 19 Jun 2013, 09:05 (13 years ago) parent6c5ba22
1 file changed+15−11
src/Text/Pandoc/Readers/Markdown.hs+15−11
src/Text/Pandoc/Readers/Markdown.hs+15−11
@@ -1549,31 +1549,35 @@ referenceLink constructor (lab, raw) = do
15491549 let labIsRef = raw' == "" || raw' == "[]"
15501550 let key = toKey $ if labIsRef then raw else raw'
15511551 parsedRaw <- parseFromString (mconcat <$> many inline) raw'
1552− let dropRB (']':xs) = xs
1553− dropRB xs = xs
1554− let dropLB ('[':xs) = xs
1555− dropLB xs = xs
1556− let dropBrackets = reverse . dropRB . reverse . dropLB
15571552 fallback <- parseFromString (mconcat <$> many inline) $ dropBrackets raw
15581553 implicitHeaderRefs <- option False $
15591554 True <$ guardEnabled Ext_implicit_header_references
1555+ let makeFallback = do
1556+ parsedRaw' <- parsedRaw
1557+ fallback' <- fallback
1558+ return $ B.str "[" <> fallback' <> B.str "]" <>
1559+ (if sp && not (null raw) then B.space else mempty) <>
1560+ parsedRaw'
15601561 return $ do
15611562 keys <- asksF stateKeys
15621563 case M.lookup key keys of
15631564 Nothing -> do
15641565 headers <- asksF stateHeaders
15651566 ref' <- if labIsRef then lab else ref
1566− parsedRaw' <- parsedRaw
1567− fallback' <- fallback
1568− let fallback'' = B.str "[" <> fallback' <> B.str "]" <>
1569− (if sp && not (null raw) then B.space else mempty) <> parsedRaw'
15701567 if implicitHeaderRefs
15711568 then case M.lookup ref' headers of
15721569 Just ident -> constructor ('#':ident) "" <$> lab
1573− Nothing -> return fallback''
1574− else return fallback''
1570+ Nothing -> makeFallback
1571+ else makeFallback
15751572 Just (src,tit) -> constructor src tit <$> lab
15761573
1574+dropBrackets :: String -> String
1575+dropBrackets = reverse . dropRB . reverse . dropLB
1576+ where dropRB (']':xs) = xs
1577+ dropRB xs = xs
1578+ dropLB ('[':xs) = xs
1579+ dropLB xs = xs
1580+
15771581bareURL :: MarkdownParser (F Inlines)
15781582bareURL = try $ do
15791583 guardEnabled Ext_autolink_bare_uris