18 lines
621 B
OCaml
18 lines
621 B
OCaml
open Seq
|
|
|
|
let to_sixteen f = ints 0 |> take 16 |> f |> Array.of_seq
|
|
let ( >>= ) = Option.bind
|
|
let ( =!? ) = fun el col -> not (Array.mem el col)
|
|
|
|
let colours =
|
|
let init_default = to_sixteen (map (fun x -> Types.Simple x)) in
|
|
Sys.getenv_opt "CULRS"
|
|
>>= (fun s -> if String.length s > 0 then Some s else None)
|
|
|> Option.fold ~none:init_default ~some:Parse.parse_env_colours
|
|
|
|
let order =
|
|
let init_default = to_sixteen (filter (fun i -> i =!? [| 0; 8 |])) in
|
|
Sys.getenv_opt "CULR_ORDER"
|
|
>>= (fun s -> if String.length s > 0 then Some s else None)
|
|
|> Option.fold ~none:init_default ~some:Parse.parse_env_order
|