Module Tjr_lib_core.Args_
Simple command line processing
module Internal_types : sig ... end
include Internal_types
type 'a t
=
{
name : string;
parse : string list -> string list;
extra : 'a;
}
A "named" parser, where the name is somehow related to the parsing
type flag_extra
= unit
type flag
= flag_extra t
type 'a t_set
=
{
names : (string, 'a t) Tjr_lib_core__.Hashtbl.t;
parse : string list -> string list;
add : 'a t -> unit;
}
type flag_set
= flag_extra t_set
type subcmd_extra
= unit -> unit
type subcmd
= subcmd_extra t
type subcmd_set
= subcmd_extra t_set
type cmd
=
{
usage : string;
flags : flag_set;
subcmds : subcmd_set;
}
module Internal_string : sig ... end
module Common_flags : sig ... end
include Common_flags
module Internal_flags : sig ... end
val make_flag_set : flag_extra t list -> flag_extra t_set
module Internal_subcmds : sig ... end
val make_subcmd : name:string -> set:subcmd_extra -> flags:flag_set -> subcmd
val make_subcmd_set : subcmd list -> subcmd_extra t_set
module Internal_cmd : sig ... end
val make_cmd : usage:string -> flags:flag_extra t list -> subcmds:subcmd list -> cmd
val cmd_parser : cmd -> string list -> string list
module Test : functor () sig ... end