aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Muse.hs
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-04-02 15:55:04 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-04-02 15:58:37 +0300
commitca78d93b408c660ee1ab753e165d07acd864b5a7 (patch)
tree851bc3175a45f629f1d774e6be250eb96b3e1699 /src/Text/Pandoc/Readers/Muse.hs
parentaca4137c4094ec921276bf50278dfc58db5634a3 (diff)
downloadpandoc-ca78d93b408c660ee1ab753e165d07acd864b5a7.tar.gz
Muse writer: place header IDs before header
See https://github.com/melmothx/text-amuse/issues/39
Diffstat (limited to 'src/Text/Pandoc/Readers/Muse.hs')
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs
index b43a53d60..9e2ec310d 100644
--- a/src/Text/Pandoc/Readers/Muse.hs
+++ b/src/Text/Pandoc/Readers/Muse.hs
@@ -363,12 +363,12 @@ separator = try $ do
header :: PandocMonad m => MuseParser m (F Blocks)
header = try $ do
+ anchorId <- option "" $ try (parseAnchor <* manyTill spaceChar eol)
getPosition >>= \pos -> guard (sourceColumn pos == 1)
level <- fmap length $ many1 $ char '*'
guard $ level <= 5
spaceChar
content <- trimInlinesF . mconcat <$> manyTill inline eol
- anchorId <- option "" parseAnchor
attr <- registerHeader (anchorId, [], []) (runF content def)
return $ B.headerWith attr level <$> content
@@ -781,12 +781,12 @@ parseAnchor = try $ do
char '#'
first <- letter
rest <- many (letter <|> digit)
- skipMany spaceChar <|> void newline
return $ first:rest
anchor :: PandocMonad m => MuseParser m (F Inlines)
anchor = try $ do
anchorId <- parseAnchor
+ skipMany spaceChar <|> void newline
return $ return $ B.spanWith (anchorId, [], []) mempty
footnote :: PandocMonad m => MuseParser m (F Inlines)