aboutsummaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2019-02-18 15:09:29 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2019-02-18 15:21:32 +0300
commitc4814ea965704ffb3bc7cf5e918a2fc342d401b3 (patch)
tree80c1b3f2326a1df10b96a5a07425d2f7bb3a67cb /src/Text
parent2c7c8a6f407a6299f7f7345ca9203fae6fb4bcde (diff)
downloadpandoc-c4814ea965704ffb3bc7cf5e918a2fc342d401b3.tar.gz
Muse reader: add secondary note support
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs16
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) }