aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-09-21 12:46:36 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-09-21 13:00:15 +0300
commitca0bb5123e52b89b39033a54120626062e824ca5 (patch)
tree2ed4a9b95ca9a2b65a9b92a40b633b63d92295d4 /src
parent23725f3a20f488547aa4d2d2601d34c8e2b628bf (diff)
downloadpandoc-ca0bb5123e52b89b39033a54120626062e824ca5.tar.gz
Muse reader: simplify ordered list parsing
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Readers/Muse.hs15
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