make sep/delim customisable
This commit is contained in:
parent
6d98e1639b
commit
c5c240ca2e
8 changed files with 60 additions and 26 deletions
23
lib/env.ml
23
lib/env.ml
|
@ -16,13 +16,20 @@ let match_env_order =
|
|||
|
||||
let ( >>= ) = Option.bind
|
||||
|
||||
let get_env_colours =
|
||||
Sys.getenv_opt "CULRS" >>= fun s ->
|
||||
if String.length s > 0 then Some s else None
|
||||
let getenv_opt s =
|
||||
Sys.getenv_opt s >>= fun s -> if String.length s > 0 then Some s else None
|
||||
|
||||
let get_env_order =
|
||||
Sys.getenv_opt "CULR_ORDER" >>= fun s ->
|
||||
if String.length s > 0 then Some s else None
|
||||
let explode s = s |> String.to_seq |> Array.of_seq
|
||||
|
||||
let get_parser =
|
||||
let open Parsers in
|
||||
let sep = getenv_opt "CULR_SEP" and del = getenv_opt "CULR_DELIM" in
|
||||
match (sep, del) with
|
||||
| Some s, Some d ->
|
||||
create_parser ~separator:(explode s) ~delimiter:(explode d) ()
|
||||
| None, Some d -> create_parser ~delimiter:(explode d) ()
|
||||
| Some s, None -> create_parser ~separator:(explode s) ()
|
||||
| None, None -> create_parser ()
|
||||
|
||||
let to_sixteen f = ints 0 |> take 16 |> f |> Array.of_seq
|
||||
|
||||
|
@ -58,8 +65,8 @@ let permute (order : order) (colours : colour array) =
|
|||
colours
|
||||
|
||||
let get_colours =
|
||||
let colours = get_env_colours
|
||||
and order = get_env_order
|
||||
let colours = getenv_opt "CULRS"
|
||||
and order = getenv_opt "CULR_ORDER"
|
||||
and init_default_colours = to_sixteen (map (fun x -> Types.Intrinsic x))
|
||||
and init_order_for_colours c =
|
||||
let open Seq in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue