blob: b09afdcf233f084c868c3d3818d38ff44552988f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
(*
This file is part of licht.
licht is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
licht is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with licht. If not, see <http://www.gnu.org/licenses/>.
*)
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
|