aboutsummaryrefslogtreecommitdiff
path: root/src/UTF8.ml
diff options
context:
space:
mode:
Diffstat (limited to 'src/UTF8.ml')
-rwxr-xr-xsrc/UTF8.ml54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/UTF8.ml b/src/UTF8.ml
new file mode 100755
index 0000000..a955b1e
--- /dev/null
+++ b/src/UTF8.ml
@@ -0,0 +1,54 @@
+include Text
+
+let empty = ""
+
+let decode x = Text.decode x
+
+let encode x =
+ try Some (Text.encode x)
+ with Text.Invalid (_, _) -> None
+
+let raw_encode x = Text.encode x
+
+let from_utf8string x = x
+
+let to_utf8string x = x
+
+let trim x = Text.strip x
+
+let split str ~sep =
+ match Text.split ~max:1 ~sep str with
+ | [] -> ""
+ | hd::tl -> hd
+
+let replace text patt repl = Text.replace text ~patt ~repl
+
+module Buffer = struct
+
+ include Buffer
+
+ type buffer = t
+
+ let add_char b c = Uchar.of_char c
+ |> Uchar.to_int
+ |> Text.char
+ |> Buffer.add_string b
+end
+
+module Printf = struct
+
+ include Printf
+
+end
+
+module Format = struct
+
+ include Format
+
+ let bprintf buffer fformat = begin
+ let to_b = formatter_of_buffer buffer in
+ let x = fprintf to_b fformat in
+ x
+ end
+
+end