0 | module Libraries.Utils.String
5 | stripSurrounds : (lead : Nat) -> (tail : Nat) -> String -> String
6 | stripSurrounds lead tail str = substr lead (length str `minus` (lead + tail)) str
9 | stripQuotes : String -> String
10 | stripQuotes = stripSurrounds 1 1
13 | lowerFirst : String -> Bool
14 | lowerFirst "" = False
15 | lowerFirst str = isLower $
assert_total $
prim__strHead str
17 | escapeGeneric : Char -> List Char -> String -> String
18 | escapeGeneric esc toEscape = pack . foldr escape [] . unpack
20 | escape : Char -> List Char -> List Char
23 | then (esc :: c :: cs)
27 | escapeStringUnix : String -> String
28 | escapeStringUnix = escapeGeneric '\\' ['"', '\\']
31 | escapeStringChez : String -> String
32 | escapeStringChez = escapeGeneric '\\' ['\'', '\\']