git.iko.soy/typeable/pandoc
on master help sign in
Muse reader: allow list items to be empty
commit75e2a1104cda760a939ca12258c0355844f70a31 authorAlexander Krotov <ilabdsf@gmail.com> dateWed 22 Nov 2017, 18:49 (9 years ago) parent0b63ac2
2 files changed+23−2
src/Text/Pandoc/Readers/Muse.hs+2−2 test/Tests/Readers/Muse.hs+21
src/Text/Pandoc/Readers/Muse.hs+2−2
@@ -412,7 +412,7 @@ listStart marker = try $ do
412412 st <- stateParserContext <$> getState
413413 getPosition >>= \pos -> guard (st == ListItemState || sourceColumn pos /= 1)
414414 markerLength <- marker
415− many1 spaceChar
415+ void (many1 spaceChar) <|> eol
416416 return $ preWhitespace + markerLength + 1
417417
418418listItemContents :: PandocMonad m => Int -> MuseParser m (F Blocks)
@@ -448,7 +448,7 @@ orderedListStart style delim = listStart (snd <$> withHorizDisplacement (ordered
448448
449449orderedList :: PandocMonad m => MuseParser m (F Blocks)
450450orderedList = try $ do
451− p@(_, style, delim) <- lookAhead (many spaceChar *> anyOrderedListMarker <* spaceChar)
451+ p@(_, style, delim) <- lookAhead (many spaceChar *> anyOrderedListMarker <* (eol <|> void spaceChar))
452452 guard $ style `elem` [Decimal, LowerAlpha, UpperAlpha, LowerRoman, UpperRoman]
453453 guard $ delim == Period
454454 items <- sequence <$> many1 (listItem $ orderedListStart style delim)
test/Tests/Readers/Muse.hs+21
@@ -566,6 +566,27 @@ tests =
566566 , para "Item2"
567567 , para "Item3"
568568 ]
569+ , "Bullet list with empty items" =:
570+ T.unlines
571+ [ " -"
572+ , ""
573+ , " - Item2"
574+ ] =?>
575+ bulletList [ mempty
576+ , para "Item2"
577+ ]
578+ , "Ordered list with empty items" =:
579+ T.unlines
580+ [ " 1."
581+ , ""
582+ , " 2."
583+ , ""
584+ , " 3. Item3"
585+ ] =?>
586+ orderedListWith (1, Decimal, Period) [ mempty
587+ , mempty
588+ , para "Item3"
589+ ]
569590 , testGroup "Nested lists"
570591 [ "Nested list" =:
571592 T.unlines