git.iko.soy/typeable/pandoc
on master help sign in
Muse reader: fix directive parsing
82a0ceaAlexander Krotov
src/Text/Pandoc/Readers/Muse.hs+1−3
@@ -237,9 +237,7 @@ parseAmuseDirective = do
237 many blankline
237 many blankline
238 return (key, value)
238 return (key, value)
239 where
239 where
240− endOfDirective = lookAhead $ try (eof <|>
240+ endOfDirective = lookAhead $ eof <|> try (newline >> (void blankline <|> void parseDirectiveKey))
241− void (newline >> blankline) <|>
242− void (newline >> parseDirectiveKey))
243
241
244directive :: PandocMonad m => MuseParser m ()
242directive :: PandocMonad m => MuseParser m ()
245directive = do
243directive = do
test/Tests/Readers/Muse.hs+15
@@ -537,6 +537,21 @@ tests =
537 , test emacsMuse "Disable tables"
537 , test emacsMuse "Disable tables"
538 ("#disable-tables t" =?>
538 ("#disable-tables t" =?>
539 Pandoc (setMeta "disable-tables" (MetaInlines $ toList "t") nullMeta) mempty)
539 Pandoc (setMeta "disable-tables" (MetaInlines $ toList "t") nullMeta) mempty)
540+ , "Multiple directives" =:
541+ T.unlines [ "#title Document title"
542+ , "#subtitle Document subtitle"
543+ ] =?>
544+ Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $
545+ setMeta "subtitle" (MetaInlines $ toList "Document subtitle") nullMeta) mempty
546+ , "Multiline directive" =:
547+ T.unlines [ "#title Document title"
548+ , "#notes First line"
549+ , "and second line"
550+ , "#author Name"
551+ ] =?>
552+ Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $
553+ setMeta "notes" (MetaInlines $ toList "First line\nand second line") $
554+ setMeta "author" (MetaInlines $ toList "Name") nullMeta) mempty
540 ]
555 ]
541 , testGroup "Anchors"
556 , testGroup "Anchors"
542 [ "Anchor" =:
557 [ "Anchor" =: