The unpac monorepo manager self-hosting as a monorepo using unpac
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Handle Arg.Completion.value in the backend.

+18 -12
+6 -4
vendor/opam/cmdliner/src/cmdliner_completion.ml
··· 69 69 Group ("Options", List.concat (List.map maybe_items options)) :: directives 70 70 71 71 let add_argument_value_directives directives comp = 72 - let Directives ds = Cmdliner_def.Complete.directives comp in 72 + let Directives (pp, ds) = Cmdliner_def.Complete.directives comp in 73 73 match ds with 74 74 | Error msg -> `Directives [Message msg] 75 75 | Ok ds -> ··· 91 91 match d with 92 92 | Cmdliner_def.Arg_completion.String (s, doc) -> 93 93 loop ((s, doc) :: values) msgs ~files ~dirs ~restart ~raw ds 94 - | Value (_, _) -> failwith "TODO" 94 + | Value (v, doc) -> 95 + let s = Cmdliner_base.Fmt.str "@[<h>%a@]" pp v in 96 + loop ((s, doc) :: values) msgs ~files ~dirs ~restart ~raw ds 95 97 | Files -> loop values msgs ~files:true ~dirs ~restart ~raw ds 96 98 | Dirs -> loop values msgs ~files ~dirs:true ~restart ~raw ds 97 99 | Restart -> loop values msgs ~files ~dirs ~restart:true ~raw ds ··· 105 107 let subst = Cmdliner_def.Eval.doclang_subst ei in 106 108 let dirs = add_subcommands_group ~err_ppf ~subst cmd comp [] in 107 109 let res = match Cmdliner_def.Complete.kind comp with 108 - | Opt_value _arg_info (* XXX need to handle Value *) -> 110 + | Opt_value _arg_info -> 109 111 add_argument_value_directives dirs comp 110 - | Opt_name_or_pos_value arg_info (* XXX need to handle Value *) -> 112 + | Opt_name_or_pos_value _arg_info -> 111 113 let dirs = add_options_group ~err_ppf ~subst cmd comp dirs in 112 114 add_argument_value_directives dirs comp 113 115 | Opt_name ->
+6 -4
vendor/opam/cmdliner/src/cmdliner_def.ml
··· 471 471 | Opt_name 472 472 473 473 type directives = 474 - Directives : ('a Arg_completion.directive list, string) result -> directives 474 + Directives : 475 + 'a Cmdliner_base.Fmt.t * 476 + ('a Arg_completion.directive list, string) result -> directives 475 477 476 478 type t = 477 479 { context : Cline.t; ··· 483 485 484 486 let make ?(after_dashdash = false) ?(subcmds = false) context ~prefix kind = 485 487 { context; prefix; after_dashdash; subcmds; kind; 486 - directives = Directives (Ok []) } 488 + directives = Directives (Cmdliner_base.Fmt.nop, Ok []) } 487 489 488 490 let add_subcmds c = { c with subcmds = true } 489 - let add_directives directives c = 490 - { c with directives = Directives directives } 491 + let add_directives pp directives c = 492 + { c with directives = Directives (pp, directives) } 491 493 492 494 let context c = c.context 493 495 let prefix c = c.prefix
+4 -3
vendor/opam/cmdliner/src/cmdliner_def.mli
··· 273 273 | Opt_name 274 274 275 275 type directives = 276 - Directives : ('a Arg_completion.directive list, string) result -> directives 276 + | Directives : 277 + 'a Cmdliner_base.Fmt.t * 278 + ('a Arg_completion.directive list, string) result -> directives 277 279 278 280 type t 279 281 ··· 282 284 kind -> t 283 285 284 286 val context : t -> Cline.t 285 - 286 - 287 287 val add_subcmds : t -> t 288 288 val add_directives : 289 + 'a Cmdliner_base.Fmt.t -> 289 290 ('a Arg_completion.directive list, string) result -> t -> t 290 291 291 292 val prefix : t -> string
+2 -1
vendor/opam/cmdliner/src/cmdliner_eval.ml
··· 130 130 run_parser_for_completion_context ei cline ctx 131 131 in 132 132 let dirs = func ctx ~token in 133 - Cmdliner_def.Complete.add_directives dirs comp 133 + Cmdliner_def.Complete.add_directives 134 + (Cmdliner_def.Arg_conv.pp c) dirs comp 134 135 in 135 136 Cmdliner_completion.output 136 137 ~out_ppf:help_ppf ~err_ppf ei cmd_args_info cmd comp; Ok `Help