@@ -2,7 +2,7 @@ module Parse.Helpers where
22
33import Prelude hiding (until)
44import Control.Applicative ((<$>),(<*>))
5−import Control.Monad (guard, join, mzero)
5+import Control.Monad (guard, join)
66import Control.Monad.State (State)
77import Data.Char (isUpper)
88import qualified Data.Map as Map
@@ -261,7 +261,7 @@ ignoreUntil end = go
261261 ignore p = const () <$> p
262262 filler = choice [ try (ignore chr) <|> ignore str
263263 , ignore multiComment
264− , ignore (markdown (\_ -> mzero))
264+ , ignore markdown
265265 , ignore anyChar
266266 ]
267267 go = choice [ Just <$> end
@@ -294,18 +294,16 @@ anyUntilPos pos = go
294294 True -> return []
295295 False -> (:) <$> anyChar <*> go
296296
297−markdown :: ([a] -> IParser (String, [a])) -> IParser (String, [a])
298−markdown interpolation =
297+markdown :: IParser String
298+markdown =
299299 do try (string "[markdown|")
300− closeMarkdown id []
300+ closeMarkdown id
301301 where
302− closeMarkdown markdownBuilder stuff =
302+ closeMarkdown markdownBuilder =
303303 choice [ do try (string "|]")
304− return (markdownBuilder "", stuff)
305− , do (markdown,stuff') <- interpolation stuff
306− closeMarkdown (markdownBuilder . (markdown++)) stuff'
304+ return (markdownBuilder "")
307305 , do c <- anyChar
308− closeMarkdown (markdownBuilder . (c:)) stuff
306+ closeMarkdown (markdownBuilder . (c:))
309307 ]
310308
311309shader :: IParser (String, L.GLShaderTipe)