diff options
author | Alexander Krotov <ilabdsf@gmail.com> | 2019-02-18 15:09:29 +0300 |
---|---|---|
committer | Alexander Krotov <ilabdsf@gmail.com> | 2019-02-18 15:21:32 +0300 |
commit | c4814ea965704ffb3bc7cf5e918a2fc342d401b3 (patch) | |
tree | 80c1b3f2326a1df10b96a5a07425d2f7bb3a67cb /src/Text/Pandoc | |
parent | 2c7c8a6f407a6299f7f7345ca9203fae6fb4bcde (diff) | |
download | pandoc-c4814ea965704ffb3bc7cf5e918a2fc342d401b3.tar.gz |
Muse reader: add secondary note support
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index ba476f7d7..012eb017d 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -481,11 +481,17 @@ paraUntil end = do guard $ not inPara first (fmap B.para) <$> paraContentsUntil end -noteMarker :: PandocMonad m => MuseParser m String -noteMarker = try $ (:) - <$ char '[' +noteMarker' :: PandocMonad m + => Char + -> Char + -> MuseParser m String +noteMarker' l r = try $ (\x y -> l:x:y ++ [r]) + <$ char l <*> oneOf "123456789" - <*> manyTill digit (char ']') + <*> manyTill digit (char r) + +noteMarker :: PandocMonad m => MuseParser m String +noteMarker = noteMarker' '[' ']' <|> noteMarker' '{' '}' addNote :: PandocMonad m => String @@ -797,7 +803,7 @@ footnote = try $ do return $ do notes <- asksF museNotes case M.lookup ref notes of - Nothing -> return $ B.str $ "[" ++ ref ++ "]" + Nothing -> return $ B.str $ ref Just (_pos, contents) -> do st <- askF let contents' = runF contents st { museNotes = M.delete ref (museNotes st) } |