Skip to content

Commit

Permalink
Fix recent bug in help message formatting
Browse files Browse the repository at this point in the history
Signed-off-by: Stephen Sherratt <[email protected]>
  • Loading branch information
gridbugs committed Jan 31, 2025
1 parent 7a36fc4 commit 3874777
Showing 1 changed file with 11 additions and 30 deletions.
41 changes: 11 additions & 30 deletions src/climate/help.ml
Original file line number Diff line number Diff line change
Expand Up @@ -119,33 +119,18 @@ module Print = struct

let indent = 2

let pp_names_value_padded
(style : Style.t)
ppf
~at_least_one_left_name
~right_names_left_padding
t
=
let pp_names_value_padded ppf ~at_least_one_left_name ~right_names_left_padding t =
if not (Names.is_empty t.names)
then (
Ansi_style.pp_with_style style.arg_name ppf ~f:(fun ppf ->
Names.pp_padded ppf ~at_least_one_left_name ~right_names_left_padding t.names);
pp_print_spaces ppf 1);
then Names.pp_padded ppf ~at_least_one_left_name ~right_names_left_padding t.names;
Option.iter t.value ~f:(fun value ->
Ansi_style.pp_with_style style.arg_name ppf ~f:(fun ppf ->
Value.pp ppf value;
if t.repeated then pp_print_elipsis ppf ());
pp_print_spaces ppf 1)
if not (Names.is_empty t.names) then pp_print_spaces ppf 1;
Value.pp ppf value;
if t.repeated then pp_print_elipsis ppf ())
;;

let names_value_padded_to_string
style
~at_least_one_left_name
~right_names_left_padding
t
=
let names_value_padded_to_string ~at_least_one_left_name ~right_names_left_padding t =
let ppf = Format.str_formatter in
pp_names_value_padded style ppf ~at_least_one_left_name ~right_names_left_padding t;
pp_names_value_padded ppf ~at_least_one_left_name ~right_names_left_padding t;
Format.flush_str_formatter ()
;;

Expand All @@ -159,14 +144,11 @@ module Print = struct
=
pp_print_spaces ppf indent;
let names_value_string =
names_value_padded_to_string
style
~at_least_one_left_name
~right_names_left_padding
t
names_value_padded_to_string ~at_least_one_left_name ~right_names_left_padding t
in
Format.pp_print_string ppf names_value_string;
pp_print_spaces ppf 1;
Ansi_style.pp_with_style style.arg_name ppf ~f:(fun ppf ->
Format.pp_print_string ppf names_value_string);
pp_print_spaces ppf 2;
Option.iter t.desc ~f:(fun desc ->
let padding = desc_left_padding - String.length names_value_string in
pp_print_spaces ppf padding;
Expand All @@ -192,7 +174,6 @@ module Print = struct
let max_name_length ~at_least_one_left_name ~right_names_left_padding t =
List.map t.entries ~f:(fun entry ->
Entry.names_value_padded_to_string
Style.plain
~at_least_one_left_name
~right_names_left_padding
entry
Expand Down

0 comments on commit 3874777

Please sign in to comment.