From b5d064e8f08db27f3f9aa7287edd7a777be57594 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Thu, 28 Sep 2017 14:47:07 +0300 Subject: Muse reader: parse anchors --- src/Text/Pandoc/Readers/Muse.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 6e7844d4b..6f9b9b3c2 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -35,7 +35,6 @@ TODO: - Org tables - table.el tables - Images with attributes (floating and width) -- Anchors - Citations and - environment -} @@ -535,6 +534,7 @@ tableParseCaption = try $ do inline :: PandocMonad m => MuseParser m (F Inlines) inline = choice [ br + , anchor , footnote , strong , strongTag @@ -552,6 +552,16 @@ inline = choice [ br , symbol ] "inline" +anchor :: PandocMonad m => MuseParser m (F Inlines) +anchor = try $ do + getPosition >>= \pos -> guard (sourceColumn pos == 1) + char '#' + first <- letter + rest <- many (letter <|> digit) + skipMany spaceChar <|> void newline + let anchorId = first:rest + return $ return $ B.spanWith (anchorId, [], []) mempty + footnote :: PandocMonad m => MuseParser m (F Inlines) footnote = try $ do ref <- noteMarker -- cgit v1.2.3