diff options
author | Alexander Krotov <ilabdsf@gmail.com> | 2018-09-21 12:46:36 +0300 |
---|---|---|
committer | Alexander Krotov <ilabdsf@gmail.com> | 2018-09-21 13:00:15 +0300 |
commit | ca0bb5123e52b89b39033a54120626062e824ca5 (patch) | |
tree | 2ed4a9b95ca9a2b65a9b92a40b633b63d92295d4 /src | |
parent | 23725f3a20f488547aa4d2d2601d34c8e2b628bf (diff) | |
download | pandoc-ca0bb5123e52b89b39033a54120626062e824ca5.tar.gz |
Muse reader: simplify ordered list parsing
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 6cb732c42..9c6c24f08 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -595,13 +595,6 @@ bulletListUntil end = try $ do (items, e) <- bulletListItemsUntil indent end return (B.bulletList <$> sequence items, e) --- | Parses an ordered list marker and returns list attributes. -anyMuseOrderedListMarker :: PandocMonad m => MuseParser m ListAttributes -anyMuseOrderedListMarker = do - (style, start) <- decimal <|> lowerRoman <|> upperRoman <|> lowerAlpha <|> upperAlpha - char '.' - return (start, style, Period) - museOrderedListMarker :: PandocMonad m => ListNumberStyle -> MuseParser m Int @@ -639,10 +632,10 @@ orderedListUntil end = try $ do pos <- getPosition let indent = sourceColumn pos - 1 guard $ indent /= 0 - p@(_, style, _) <- anyMuseOrderedListMarker - guard $ style `elem` [Decimal, LowerAlpha, UpperAlpha, LowerRoman, UpperRoman] - (items, e) <- orderedListItemsUntil indent style end - return (B.orderedListWith p <$> sequence items, e) + (style, start) <- decimal <|> lowerRoman <|> upperRoman <|> lowerAlpha <|> upperAlpha + char '.' + first (fmap (B.orderedListWith (start, style, Period)) . sequence) + <$> orderedListItemsUntil indent style end descriptionsUntil :: PandocMonad m => Int |