@@ -322,20 +322,18 @@ markdown interpolation = try (string "[markdown|") >> closeMarkdown (++ "") []
324glShader :: IParser (String, Literal.GLShaderTipe)
324glShader :: IParser (String, Literal.GLShaderTipe)
325−glShader = do
325+glShader =
327− rawSrc <- try (string "[glShader|") >> closeShader ""
326+ do try (string "[glShader|")
327+ rawSrc <- closeShader id
328− case glSource rawSrc of
328+ case glSource rawSrc of
329− Left err -> parserFail . show $ err
329+ Left err -> parserFail . show $ err
330− Right tipe -> return (rawSrc, tipe)
330+ Right tipe -> return (rawSrc, tipe)
332− closeShader src = choice
332+ closeShader builder = choice
334− try (string "|]")
333+ [ do try (string "|]")
335− return src
334+ return (builder "")
337− c <- anyChar
335+ , do c <- anyChar
338− closeShader (src ++ [c])
336+ closeShader (builder . (c:))
341glSource :: String -> Either ParseError Literal.GLShaderTipe
339glSource :: String -> Either ParseError Literal.GLShaderTipe