git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Refactor JS string prettyprinting
commit33cfbe7eae3688b4d9bda4c916fbd1c00c377362 authorGary Burgess <gary.burgess@gmail.com> dateThu 27 Mar 2014, 22:41 (13 years ago) parent279cc97
1 file changed+4−1
src/Language/PureScript/Pretty/JS.hs+4−1
src/Language/PureScript/Pretty/JS.hs+4−1
@@ -60,7 +60,7 @@ literals = mkPattern' match
6060 where
6161 match :: JS -> StateT PrinterState Maybe String
6262 match (JSNumericLiteral n) = return $ either show show n
63− match (JSStringLiteral s) = return $ '"' : concatMap encodeChar s ++ "\""
63+ match (JSStringLiteral s) = return $ string s
6464 match (JSBooleanLiteral True) = return "true"
6565 match (JSBooleanLiteral False) = return "false"
6666 match (JSArrayLiteral xs) = fmap concat $ sequence
@@ -141,6 +141,9 @@ literals = mkPattern' match
141141 match (JSRaw js) = return js
142142 match _ = mzero
143143
144+string :: String -> String
145+string s = '"' : concatMap encodeChar s ++ "\""
146+ where
144147 encodeChar :: Char -> String
145148 encodeChar '\b' = "\\b"
146149 encodeChar '\t' = "\\t"