···6969 Group ("Options", List.concat (List.map maybe_items options)) :: directives
70707171let add_argument_value_directives directives comp =
7272- let Directives ds = Cmdliner_def.Complete.directives comp in
7272+ let Directives (pp, ds) = Cmdliner_def.Complete.directives comp in
7373 match ds with
7474 | Error msg -> `Directives [Message msg]
7575 | Ok ds ->
···9191 match d with
9292 | Cmdliner_def.Arg_completion.String (s, doc) ->
9393 loop ((s, doc) :: values) msgs ~files ~dirs ~restart ~raw ds
9494- | Value (_, _) -> failwith "TODO"
9494+ | Value (v, doc) ->
9595+ let s = Cmdliner_base.Fmt.str "@[<h>%a@]" pp v in
9696+ loop ((s, doc) :: values) msgs ~files ~dirs ~restart ~raw ds
9597 | Files -> loop values msgs ~files:true ~dirs ~restart ~raw ds
9698 | Dirs -> loop values msgs ~files ~dirs:true ~restart ~raw ds
9799 | Restart -> loop values msgs ~files ~dirs ~restart:true ~raw ds
···105107 let subst = Cmdliner_def.Eval.doclang_subst ei in
106108 let dirs = add_subcommands_group ~err_ppf ~subst cmd comp [] in
107109 let res = match Cmdliner_def.Complete.kind comp with
108108- | Opt_value _arg_info (* XXX need to handle Value *) ->
110110+ | Opt_value _arg_info ->
109111 add_argument_value_directives dirs comp
110110- | Opt_name_or_pos_value arg_info (* XXX need to handle Value *) ->
112112+ | Opt_name_or_pos_value _arg_info ->
111113 let dirs = add_options_group ~err_ppf ~subst cmd comp dirs in
112114 add_argument_value_directives dirs comp
113115 | Opt_name ->
+6-4
vendor/opam/cmdliner/src/cmdliner_def.ml
···471471 | Opt_name
472472473473 type directives =
474474- Directives : ('a Arg_completion.directive list, string) result -> directives
474474+ Directives :
475475+ 'a Cmdliner_base.Fmt.t *
476476+ ('a Arg_completion.directive list, string) result -> directives
475477476478 type t =
477479 { context : Cline.t;
···483485484486 let make ?(after_dashdash = false) ?(subcmds = false) context ~prefix kind =
485487 { context; prefix; after_dashdash; subcmds; kind;
486486- directives = Directives (Ok []) }
488488+ directives = Directives (Cmdliner_base.Fmt.nop, Ok []) }
487489488490 let add_subcmds c = { c with subcmds = true }
489489- let add_directives directives c =
490490- { c with directives = Directives directives }
491491+ let add_directives pp directives c =
492492+ { c with directives = Directives (pp, directives) }
491493492494 let context c = c.context
493495 let prefix c = c.prefix
+4-3
vendor/opam/cmdliner/src/cmdliner_def.mli
···273273 | Opt_name
274274275275 type directives =
276276- Directives : ('a Arg_completion.directive list, string) result -> directives
276276+ | Directives :
277277+ 'a Cmdliner_base.Fmt.t *
278278+ ('a Arg_completion.directive list, string) result -> directives
277279278280 type t
279281···282284 kind -> t
283285284286 val context : t -> Cline.t
285285-286286-287287 val add_subcmds : t -> t
288288 val add_directives :
289289+ 'a Cmdliner_base.Fmt.t ->
289290 ('a Arg_completion.directive list, string) result -> t -> t
290291291292 val prefix : t -> string
+2-1
vendor/opam/cmdliner/src/cmdliner_eval.ml
···130130 run_parser_for_completion_context ei cline ctx
131131 in
132132 let dirs = func ctx ~token in
133133- Cmdliner_def.Complete.add_directives dirs comp
133133+ Cmdliner_def.Complete.add_directives
134134+ (Cmdliner_def.Arg_conv.pp c) dirs comp
134135 in
135136 Cmdliner_completion.output
136137 ~out_ppf:help_ppf ~err_ppf ei cmd_args_info cmd comp; Ok `Help