diff --git a/src/components/utilities.rs b/src/components/utilities.rs index a99f0d3e..ab47fa56 100644 --- a/src/components/utilities.rs +++ b/src/components/utilities.rs @@ -1072,6 +1072,8 @@ impl Component for Tabbed { let mut max_width = "Press ? to close, use COMMAND \"search\" to find shortcuts".len() + 3; + let mut max_first_column_width = 3; + for (desc, shortcuts) in children_maps.iter() { max_length += shortcuts.len() + 3; max_width = std::cmp::max( @@ -1085,6 +1087,14 @@ impl Component for Tabbed { .unwrap_or(0), ), ); + max_first_column_width = std::cmp::max( + max_first_column_width, + shortcuts + .values() + .map(|v| v.to_string().len() + 5) + .max() + .unwrap_or(0), + ); } self.help_content = CellBuffer::new_with_context(max_width, max_length + 2, None, context); @@ -1112,7 +1122,11 @@ impl Component for Tabbed { idx += 2; for (k, v) in shortcuts { let (x, y) = write_string_to_grid( - &format!("{:1$}", v, max_width), + &format!( + "{: >width$}", + format!("{}", v), + width = max_first_column_width + ), &mut self.help_content, self.theme_default.fg, self.theme_default.bg,