Module V1.EZCONFIG

module FILE = Ez_file.FileAbstract
include module type of struct include Yalo_ez_config.EzConfig end
include module type of struct include Yalo_ez_config.SimpleConfig end
val config_file : config_file -> Ez_file.V1.FileAbstract.t
val set_config_file : config_file -> Ez_file.V1.FileAbstract.t -> unit
val set_before_save_hook : config_file -> int -> (unit -> unit) -> unit
val set_after_save_hook : config_file -> (unit -> unit) -> unit
val set_after_load_hook : config_file -> (unit -> unit) -> unit
val create_option : config_file -> string list -> ?short_help:string -> string list -> ?level:int -> 'a option_class -> 'a -> 'a config_option
val set_unloaded : 'a config_option -> unit
val string_option : string option_class
val int_option : int option_class
val int64_option : int64 option_class
val bool_option : bool option_class
val flag_option : bool option_class
val with_option : bool option_class
val enable_option : bool option_class
val float_option : float option_class
val string2_option : (string * string) option_class
val file_option : Ez_file.V1.FileAbstract.t option_class
val list_option : 'a option_class -> 'a list option_class
val array_option : 'a option_class -> 'a array option_class
val intmap_option : ('a -> int) -> 'a option_class -> 'a EzCompat.IntMap.t option_class
val option_option : 'a option_class -> 'a option option_class
val smalllist_option : 'a option_class -> 'a list option_class
val sum_option : (string * 'a) list -> 'a option_class
val tuple2_option : ('a option_class * 'b option_class) -> ('a * 'b) option_class
val tuple3_option : ('a option_class * 'b option_class * 'c option_class) -> ('a * 'b * 'c) option_class
val tuple4_option : ('a option_class * 'b option_class * 'c option_class * 'd option_class) -> ('a * 'b * 'c * 'd) option_class
val tuple5_option : ('a option_class * 'b option_class * 'c option_class * 'd option_class * 'e option_class) -> ('a * 'b * 'c * 'd * 'e) option_class
include module type of Yalo_ez_config.EzConfig.OP
val (=:=) : 'a Yalo_ez_config.SimpleConfig.config_option -> 'a -> unit
val create_config_section : config_file -> string list -> string -> config_section
type load_error = Yalo_ez_config.SimpleConfig.load_error =
  1. | FileDoesNotExist
  2. | FileCannotBeRead
  3. | ParseError of int * string
  4. | FileHasTempBackup of Ez_file.V1.FileAbstract.t
  5. | SetOptionFailed of string * string
exception LoadError of Ez_file.V1.FileAbstract.t * load_error
val string_of_load_error : Ez_file.V1.FileAbstract.t -> load_error -> string
val create_config_file : string -> Yalo_ez_config.EzConfig.config_file
val load : ?filename:string -> Yalo_ez_config.EzConfig.config_file -> unit
val append : Yalo_ez_config.EzConfig.config_file -> ?override:bool -> string -> unit
val save : ?filename:string -> Yalo_ez_config.EzConfig.config_file -> unit
val save_with_help : ?filename:string -> Yalo_ez_config.EzConfig.config_file -> unit
include module type of struct include LowLevel end
type option_value = Yalo_ez_config.SimpleConfig.LowLevel.option_value =
  1. | Module of option_module
  2. | StringValue of string
  3. | IntValue of int
  4. | FloatValue of float
  5. | List of option_value list
  6. | SmallList of option_value list
  7. | OnceValue of option_value
  8. | DelayedValue of EzCompat.Buffer.t -> string -> unit
and option_module = (string * option_value) list
exception SideEffectOption
val option_hook : 'a Yalo_ez_config.SimpleConfig.config_option -> (unit -> unit) -> unit
val add_option_hook : 'a Yalo_ez_config.SimpleConfig.config_option -> (unit -> unit) -> unit
val clear_option_hooks : 'a Yalo_ez_config.SimpleConfig.config_option -> unit
val hasharray_option : 'a -> (int * 'a * 'b) Yalo_ez_config.SimpleConfig.option_class -> ('a, 'b) Stdlib.Hashtbl.t array Yalo_ez_config.SimpleConfig.option_class
val shortname : 'a Yalo_ez_config.SimpleConfig.config_option -> string
val option_type : 'a Yalo_ez_config.SimpleConfig.config_option -> string
val get_help : 'a Yalo_ez_config.SimpleConfig.config_option -> string
val define_option_class : string -> ?option_kind:Yalo_ez_config.SimpleConfig.option_kind -> ?string_wrappers:(('a -> string) * (string -> 'a)) -> (option_value -> 'a) -> ('a -> option_value) -> 'a Yalo_ez_config.SimpleConfig.option_class
val value_to_string : option_value -> string
val string_to_value : string -> option_value
val value_to_int : option_value -> int
val int_to_value : int -> option_value
val value_to_int64 : option_value -> int64
val int64_to_value : int64 -> option_value
val bool_of_string : string -> bool
val value_to_bool : option_value -> bool
val bool_to_value : bool -> option_value
val value_to_float : option_value -> float
val float_to_value : float -> option_value
val value_to_string2 : option_value -> string * string
val string2_to_value : (string * string) -> option_value
val value_to_list : (option_value -> 'a) -> option_value -> 'a list
val list_to_value : ('a -> option_value) -> 'a list -> option_value
val smalllist_to_value : ('a -> option_value) -> 'a list -> option_value
val value_to_tuple2 : ((option_value * option_value) -> 'a) -> option_value -> 'a
val tuple2_to_value : ('a -> option_value * option_value) -> 'a -> option_value
val filename_to_value : Ez_file.V1.FileAbstract.t -> option_value
val value_to_filename : option_value -> Ez_file.V1.FileAbstract.t
val set_simple_option : Yalo_ez_config.SimpleConfig.config_file -> string list -> string -> unit
val get_simple_option : Yalo_ez_config.SimpleConfig.config_file -> string list -> string
val set_option_hook : Yalo_ez_config.SimpleConfig.config_file -> string list -> (unit -> unit) -> unit
val set_string_wrappers : 'a Yalo_ez_config.SimpleConfig.option_class -> ('a -> string) -> (string -> 'a) -> unit
val once_value : option_value -> option_value
val array_to_value : ('a -> option_value) -> 'a array -> option_value
val value_to_array : (option_value -> 'a) -> option_value -> 'a array
val restore_default : 'a Yalo_ez_config.SimpleConfig.config_option -> unit
val section_name : Yalo_ez_config.SimpleConfig.config_section -> string
val option_value_to_string : option_value -> string
val set_volatile : 'a Yalo_ez_config.SimpleConfig.config_option -> unit
type option_info = Yalo_ez_config.SimpleConfig.LowLevel.option_info = {
  1. option_name : string list;
  2. option_shortname : string;
  3. option_value : string;
  4. option_short_help : string;
  5. option_long_help : string list;
  6. option_default : string;
  7. option_kind : Yalo_ez_config.SimpleConfig.option_kind;
}
val simple_options : string -> Yalo_ez_config.SimpleConfig.config_file -> option_info list
val simple_args : string -> Yalo_ez_config.SimpleConfig.config_file -> (string * Stdlib.Arg.spec * string) list
val prefixed_args : string -> Yalo_ez_config.SimpleConfig.config_file -> (string * Stdlib.Arg.spec * string) list
val create_section_option : Yalo_ez_config__SimpleConfig.config_section -> string list -> short_help:string -> ?long_help:string list -> ?level:int -> 'a Yalo_ez_config__SimpleConfig.option_class -> 'a -> 'a Yalo_ez_config__SimpleConfig.config_option
val string_list_option : string list Yalo_ez_config.EzConfig.option_class
val stringSet_option : EzCompat.StringSet.t option_class