Muse reader: fix directive parsing

This fixes bugs introduced in commit 4bfab8f04c.
This commit is contained in:
Alexander Krotov 2018-02-15 16:32:47 +03:00
parent 9131d62c9b
commit 82a0ceaf18
2 changed files with 16 additions and 3 deletions

View file

@ -237,9 +237,7 @@ parseAmuseDirective = do
many blankline
return (key, value)
where
endOfDirective = lookAhead $ try (eof <|>
void (newline >> blankline) <|>
void (newline >> parseDirectiveKey))
endOfDirective = lookAhead $ eof <|> try (newline >> (void blankline <|> void parseDirectiveKey))
directive :: PandocMonad m => MuseParser m ()
directive = do

View file

@ -537,6 +537,21 @@ tests =
, test emacsMuse "Disable tables"
("#disable-tables t" =?>
Pandoc (setMeta "disable-tables" (MetaInlines $ toList "t") nullMeta) mempty)
, "Multiple directives" =:
T.unlines [ "#title Document title"
, "#subtitle Document subtitle"
] =?>
Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $
setMeta "subtitle" (MetaInlines $ toList "Document subtitle") nullMeta) mempty
, "Multiline directive" =:
T.unlines [ "#title Document title"
, "#notes First line"
, "and second line"
, "#author Name"
] =?>
Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $
setMeta "notes" (MetaInlines $ toList "First line\nand second line") $
setMeta "author" (MetaInlines $ toList "Name") nullMeta) mempty
]
, testGroup "Anchors"
[ "Anchor" =: