blob: 7e0ee6b7e06aab085cc49088a20db21e24537b74 (
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
|
open StdLabels
module Args = struct
type t =
{ out: string [@short "-o"]
} [@@deriving argparse{
positional =
[ "css", "The css file"
]
}]
let default =
{ out = ""
}
end
let () =
let arg, rest = Args.argparse Args.default "css_merge" Sys.argv in
let css = Array.fold_left rest
~init:Css_lib.Merge.empty
~f:(fun map arg ->
let content = Stdio.In_channel.read_all arg in
let css = Css.Parser.parse_stylesheet content in
Css_lib.Merge.add_css map css
) in
Stdio.Out_channel.with_file arg.Args.out ~f:(fun channel ->
let format = Format.formatter_of_out_channel channel in
Css_lib.Print.css
Css_lib.Print.minify_printer
format
(Css_lib.Merge.extract_css css)
)
|