1234567891011121314151617181920212223242526272829303132333435363738394041424344454647(*---------------------------------------------------------------------------
Copyright (c) 2015 The logs programmers. All rights reserved.
SPDX-License-Identifier: ISC
---------------------------------------------------------------------------*)openCmdlinerletstrf=Format.asprintfletlevel?env?docs()=letvopts=letdoc="Increase verbosity. Repeatable, but more than twice does
not bring more."inArg.(value&flag_all&info["v";"verbose"]~doc?docs)inletverbosity=letenum=["warning",None;(* Hack for the option's absent rendering *)"quiet",SomeNone;"error",Some(SomeLogs.Error);"warning",Some(SomeLogs.Warning);"info",Some(SomeLogs.Info);"debug",Some(SomeLogs.Debug);]inletlog_level=Arg.enumenuminletenum_alts=Arg.doc_alts_enumList.(tlenum)inletdoc=strf"Be more or less verbose. $(docv) must be %s. Takes over
$(b,-v)."enum_altsinArg.(value&optlog_levelNone&info["verbosity"]?env~docv:"LEVEL"~doc?docs)inletquiet=letdoc="Be quiet. Takes over $(b,-v) and $(b,--verbosity)."inArg.(value&flag&info["q";"quiet"]~doc?docs)inletchoosequietverbosityvopts=ifquietthenNoneelsematchverbositywith|Someverbosity->verbosity|None->matchList.lengthvoptswith|0->SomeLogs.Warning|1->SomeLogs.Info|n->SomeLogs.DebuginTerm.(constchoose$quiet$verbosity$vopts)