Skip to content

Create "the main entry point" [@@cmdliner.eval params] #20

Description

@smondet

Not sure this is a good idea; but this could simplify simple cases further.

Like in the example:

type params = {
   (* ... *)
} [@@deriving cmdliner]
let my_main params =
   (* do stuff *)
let () =
  let term = Cmdliner.Term.(const my_main $ params_cmdliner_term ()) in
  let info = Cmdliner.Term.info Sys.argv.(0) in
  Cmdliner.Term.eval (term, info)

could be:

type params = {
   (* ... *)
} [@@deriving cmdliner]
let my_main params [@@deriving.eval_with params] =
   (* do stuff *)

and the let () would be generated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions