From 8d031acfcff9509c17fb82d7a5de255b083b7fe3 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 11:39:16 +0000 Subject: [PATCH] feat(cli): improve output visual polish with box drawing characters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated `src/cli/output.rs` to use Unicode box drawing characters for the playbook banner and section headers. This creates a cleaner, more distinct visual appearance for the CLI output. - `banner()` now renders a boxed title (e.g., `┌──────────┐`). - `section()` now uses `─` (U+2500) for underlining, consistent with other headers. Co-authored-by: dolagoartur <146357947+dolagoartur@users.noreply.github.com> --- src/cli/output.rs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/cli/output.rs b/src/cli/output.rs index fbdc4dc3..b1b318b6 100644 --- a/src/cli/output.rs +++ b/src/cli/output.rs @@ -124,15 +124,19 @@ impl OutputFormatter { } let width = measure_text_width(title); - let line = "─".repeat(width + 4); + let horizontal = "─".repeat(width + 4); + if self.use_color { - println!("\n{}", line.bright_blue()); - println!("{}", format!(" {} ", title).bright_blue().bold()); - println!("{}\n", line.bright_blue()); + println!("\n{}", format!("┌{}┐", horizontal).bright_blue()); + println!( + "{}", + format!("│ {} │", title).bright_blue().bold() + ); + println!("{}\n", format!("└{}┘", horizontal).bright_blue()); } else { - println!("\n{}", line); - println!(" {} ", title); - println!("{}\n", line); + println!("\n┌{}┐", horizontal); + println!("│ {} │", title); + println!("└{}┘\n", horizontal); } } @@ -145,10 +149,10 @@ impl OutputFormatter { let width = measure_text_width(title); if self.use_color { println!("\n{}", title.cyan().bold()); - println!("{}", "-".repeat(width).cyan()); + println!("{}", "─".repeat(width).cyan()); } else { println!("\n{}", title); - println!("{}", "-".repeat(width)); + println!("{}", "─".repeat(width)); } }