1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677(*---------------------------------------------------------------------------
Copyright (c) 2011 The cmdliner programmers. All rights reserved.
SPDX-License-Identifier: ISC
---------------------------------------------------------------------------*)(* Term combinators *)letman_format=Cmdliner_arg.man_formatletpure=Cmdliner_term.const(* Term information *)typeexit_info=Cmdliner_info.Exit.infoletexit_info=Cmdliner_info.Exit.infoletexit_status_success=Cmdliner_info.Exit.okletexit_status_cli_error=Cmdliner_info.Exit.cli_errorletexit_status_internal_error=Cmdliner_info.Exit.internal_errorletdefault_error_exits=[exit_infoexit_status_cli_error~doc:"on command line parsing errors.";exit_infoexit_status_internal_error~doc:"on unexpected internal errors (bugs).";]letdefault_exits=(exit_infoexit_status_success~doc:"on success.")::default_error_exitstypeenv_info=Cmdliner_info.Env.infoletenv_info=Cmdliner_info.Env.info?deprecated:Nonetypeinfo=Cmdliner_info.Cmd.tletinfo?(man_xrefs=[])?man?envs?(exits=[])?(sdocs=Cmdliner_manpage.s_options)?docs?doc?versionname=Cmdliner_info.Cmd.v~man_xrefs?man?envs~exits~sdocs?docs?doc?versionnameletnameti=Cmdliner_info.Cmd.nameti(* Evaluation *)type'aresult=[`Okof'a|`Errorof[`Parse|`Term|`Exn]|`Version|`Help]letto_legacy_result=function|Ok(#Cmdliner_eval.eval_okasr)->(r:'aresult)|Errore->`Erroreleteval?help?err?catch?env?argv(t,i)=letcmd=Cmdliner_cmd.vitinto_legacy_result(Cmdliner_eval.eval_value?help?err?catch?env?argvcmd)leteval_choice?help?err?catch?env?argv(t,i)choices=letsub(t,i)=Cmdliner_cmd.vitinletcmd=Cmdliner_cmd.groupi~default:t(List.mapsubchoices)into_legacy_result(Cmdliner_eval.eval_value?help?err?catch?env?argvcmd)leteval_peek_opts?version_opt?env?argvt=leto,r=Cmdliner_eval.eval_peek_opts?version_opt?env?argvtino,to_legacy_resultr(* Exits *)letexit_status_of_result?(term_err=1)=function|`Ok()|`Help|`Version->exit_status_success|`Error`Term->term_err|`Error`Exn->exit_status_internal_error|`Error`Parse->exit_status_cli_errorletexit_status_of_status_result?term_err=function|`Okn->n|`Help|`Version|`Error_asr->exit_status_of_result?term_errrletstdlib_exit=exitletexit?term_errr=stdlib_exit(exit_status_of_result?term_errr)letexit_status?term_errr=stdlib_exit(exit_status_of_status_result?term_errr)