31 lines
833 B
OCaml
31 lines
833 B
OCaml
open Cmdliner
|
|
|
|
let opt =
|
|
let doc = Arg.info ~doc:"An optional key." [ "opt" ] in
|
|
Arg.(value & opt string "default" doc)
|
|
|
|
let opt_all =
|
|
let doc = Arg.info ~doc:"All the optional keys." [ "opt-all" ] in
|
|
Arg.(value & opt_all string [] doc)
|
|
|
|
let flag =
|
|
let doc = Arg.info ~doc:"A flag." [ "flag" ] in
|
|
Arg.(value & flag doc)
|
|
|
|
let required =
|
|
let doc = Arg.info ~doc:"A required key." [ "required" ] in
|
|
Arg.(required & opt (some string) None doc)
|
|
|
|
let hello =
|
|
let doc = Arg.info ~doc:"How to say hello." [ "hello" ] in
|
|
Arg.(value @@ opt string "Hello World!" doc)
|
|
|
|
let arg =
|
|
let doc =
|
|
Arg.info ~docs:"APPLICATION OPTIONS" ~doc:"A runtime argument." [ "arg" ]
|
|
in
|
|
Arg.(value & opt string "-" doc)
|
|
|
|
module Make (_ : sig end) = struct
|
|
let start () hello arg = Fmt.pr "Success: hello=%s arg=%s\n%!" hello arg
|
|
end
|