git.iko.soy/typeable/pandoc
on master help sign in
Muse reader internals: merge link and explicit link parsers into one function
commit0a7650f87b3ef9ec80e23377ced31d04c2474806 authorAlexander Krotov <ilabdsf@gmail.com> dateWed 10 Oct 2018, 11:35 (8 years ago) parent6b8fd99
1 file changed+5−13
src/Text/Pandoc/Readers/Muse.hs+5−13
src/Text/Pandoc/Readers/Muse.hs+5−13
@@ -909,17 +909,17 @@ linkOrImage :: PandocMonad m => MuseParser m (F Inlines)
909909linkOrImage = try $ do
910910 inLink <- asks museInLink
911911 guard $ not inLink
912− local (\s -> s { museInLink = True }) (explicitLink <|> image <|> link)
912+ local (\s -> s { museInLink = True }) (link "URL:" <|> image <|> link "")
913913
914914linkContent :: PandocMonad m => MuseParser m (F Inlines)
915915linkContent = trimInlinesF . mconcat
916916 <$ char '['
917917 <*> manyTill inline (char ']')
918918
919−-- | Parse a link starting with @URL:@
920−explicitLink :: PandocMonad m => MuseParser m (F Inlines)
921−explicitLink = try $ do
922− string "[[URL:"
919+-- | Parse a link starting with (possibly null) prefix
920+link :: PandocMonad m => String -> MuseParser m (F Inlines)
921+link prefix = try $ do
922+ string $ "[[" ++ prefix
923923 url <- manyTill anyChar $ char ']'
924924 content <- option (pure $ B.str url) linkContent
925925 char ']'
@@ -952,11 +952,3 @@ image = try $ do
952952 <*> optionMaybe (many1 digit)
953953 <* many spaceChar
954954 <*> optionMaybe (oneOf "rlf")
955−
956−link :: PandocMonad m => MuseParser m (F Inlines)
957−link = try $ do
958− string "[["
959− url <- manyTill anyChar $ char ']'
960− content <- optionMaybe linkContent
961− char ']'
962− return $ B.link url "" <$> fromMaybe (return $ B.str url) content