From 8d3f0034278ba388d519a3f01dcd75b7ca965f6a Mon Sep 17 00:00:00 2001 From: Rushmore75 Date: Fri, 23 Jan 2026 12:13:25 -0700 Subject: [PATCH] center column titles --- src/app/app.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/app/app.rs b/src/app/app.rs index 8c3c7a4..457a80f 100644 --- a/src/app/app.rs +++ b/src/app/app.rs @@ -90,6 +90,15 @@ impl Widget for &App { let mut should_render = true; let mut suggest_upper_bound = None; + /// Center the text "99 " -> " 99 " + fn center_text(text: &str, avaliable_space: i32) -> String { + let margin = avaliable_space - text.len() as i32; + let margin = margin/2; + let l_margin = (0..margin).into_iter().map(|_| ' ').collect::(); + let r_margin = (0..(margin-(l_margin.len() as i32))).into_iter().map(|_| ' ').collect::(); + format!("{l_margin}{text}{r_margin}") + } + match (x == 0, y == 0) { // 0,0 vi mode (true, true) => { @@ -98,14 +107,7 @@ impl Widget for &App { } // row names (true, false) => { - display = y_idx.to_string(); - - // center the text "99 " -> " 99 " - let margin = row_header_width as i32 - display.len() as i32; - let margin = margin/2; - let l_margin = (0..margin).into_iter().map(|_| ' ').collect::(); - let r_margin = (0..(margin-(l_margin.len() as i32))).into_iter().map(|_| ' ').collect::(); - display = format!("{l_margin}{display}{r_margin}"); + display = center_text(&y_idx.to_string(), row_header_width as i32); let bg = if y_idx == self.grid.cursor().1 { Color::DarkGray @@ -118,7 +120,7 @@ impl Widget for &App { } // column names (false, true) => { - display = Grid::num_to_char(x_idx); + display = center_text(&Grid::num_to_char(x_idx), cell_width as i32); let bg = if x_idx == self.grid.cursor().0 { Color::DarkGray