@@ -2,7 +2,7 @@ module Parse.Helpers where
3import Prelude hiding (until)
3import Prelude hiding (until)
4import Control.Applicative ((<$>),(<*>))
4import Control.Applicative ((<$>),(<*>))
5−import Control.Monad (guard, join, mzero)
5+import Control.Monad (guard, join)
6import Control.Monad.State (State)
6import Control.Monad.State (State)
7import Data.Char (isUpper)
7import Data.Char (isUpper)
8import qualified Data.Map as Map
8import qualified Data.Map as Map
@@ -261,7 +261,7 @@ ignoreUntil end = go
261 ignore p = const () <$> p
261 ignore p = const () <$> p
262 filler = choice [ try (ignore chr) <|> ignore str
262 filler = choice [ try (ignore chr) <|> ignore str
263 , ignore multiComment
263 , ignore multiComment
264− , ignore (markdown (\_ -> mzero))
264+ , ignore markdown
265 , ignore anyChar
265 , ignore anyChar
267 go = choice [ Just <$> end
267 go = choice [ Just <$> end
@@ -294,18 +294,16 @@ anyUntilPos pos = go
294 True -> return []
294 True -> return []
295 False -> (:) <$> anyChar <*> go
295 False -> (:) <$> anyChar <*> go
297−markdown :: ([a] -> IParser (String, [a])) -> IParser (String, [a])
297+markdown :: IParser String
298−markdown interpolation =
298+markdown =
299 do try (string "[markdown|")
299 do try (string "[markdown|")
300− closeMarkdown id []
300+ closeMarkdown id
302− closeMarkdown markdownBuilder stuff =
302+ closeMarkdown markdownBuilder =
303 choice [ do try (string "|]")
303 choice [ do try (string "|]")
304− return (markdownBuilder "", stuff)
304+ return (markdownBuilder "")
305− , do (markdown,stuff') <- interpolation stuff
306− closeMarkdown (markdownBuilder . (markdown++)) stuff'
307 , do c <- anyChar
305 , do c <- anyChar
308− closeMarkdown (markdownBuilder . (c:)) stuff
306+ closeMarkdown (markdownBuilder . (c:))
311shader :: IParser (String, L.GLShaderTipe)
309shader :: IParser (String, L.GLShaderTipe)