@@ -1,4 +1,5 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2+{-# LANGUAGE OverloadedStrings #-}
2module Parse.Shader
3module Parse.Shader
@@ -28,10 +29,11 @@ import qualified Parse.Primitives.Shader as Shader
29shader :: R.Position -> Parser Src.Expr
30shader :: R.Position -> Parser Src.Expr
30shader start@(R.Position row col) =
31shader start@(R.Position row col) =
31− do src <- Shader.block
32+ do block <- Shader.block
32− shdr <- parseSource row col (Text.unpack src)
33+ shdr <- parseSource row col (Text.unpack block)
33 end@(R.Position row2 col2) <- getPosition
34 end@(R.Position row2 col2) <- getPosition
34 let uid = List.intercalate ":" (map show [row, col, row2, col2])
35 let uid = List.intercalate ":" (map show [row, col, row2, col2])
36+ let src = Text.replace "\n" "\\n" (Text.replace "\r\n" "\\n" block)
35 return (A.at start end (Src.Shader (Text.pack uid) src shdr))
37 return (A.at start end (Src.Shader (Text.pack uid) src shdr))