@@ -1,3 +1,4 @@
1+{-# LANGUAGE FlexibleContexts #-}
12{-
23 Copyright (C) 2017 Alexander Krotov <ilabdsf@gmail.com>
34
@@ -100,6 +101,9 @@ parseBlocks = do
100101-- utility functions
101102--
102103
104+eol :: Stream s m Char => ParserT s st m ()
105+eol = void newline <|> eof
106+
103107nested :: PandocMonad m => MuseParser m a -> MuseParser m a
104108nested p = do
105109 nestlevel <- stateMaxNestingLevel <$> getState
@@ -195,7 +199,7 @@ comment = try $ do
195199 char ';'
196200 space
197201 many $ noneOf "\n"
198− void newline <|> eof
202+ eol
199203 return mempty
200204
201205separator :: PandocMonad m => MuseParser m (F Blocks)
@@ -203,7 +207,7 @@ separator = try $ do
203207 string "----"
204208 many $ char '-'
205209 many spaceChar
206− void newline <|> eof
210+ eol
207211 return $ return B.horizontalRule
208212
209213header :: PandocMonad m => MuseParser m (F Blocks)
@@ -214,7 +218,7 @@ header = try $ do
214218 level <- liftM length $ many1 $ char '*'
215219 guard $ level <= 5
216220 spaceChar
217− content <- trimInlinesF . mconcat <$> manyTill inline newline
221+ content <- trimInlinesF . mconcat <$> manyTill inline eol
218222 attr <- registerHeader ("", [], []) (runF content defaultParserState)
219223 return $ B.headerWith attr level <$> content
220224
@@ -464,10 +468,10 @@ museAppendElement tbl element =
464468
465469tableCell :: PandocMonad m => MuseParser m (F Blocks)
466470tableCell = try $ liftM B.plain . trimInlinesF . mconcat <$> manyTill inline (lookAhead cellEnd)
467− where cellEnd = try $ void (many1 spaceChar >> char '|') <|> void newline <|> eof
471+ where cellEnd = try $ void (many1 spaceChar >> char '|') <|> eol
468472
469473tableElements :: PandocMonad m => MuseParser m [MuseTableElement]
470−tableElements = tableParseElement `sepEndBy1` (void newline <|> eof)
474+tableElements = tableParseElement `sepEndBy1` eol
471475
472476elementsToTable :: [MuseTableElement] -> F MuseTable
473477elementsToTable = foldM museAppendElement emptyTable