feat: center section divider to match table width (#2698)

The '========== Updated Releases ==========' header was a fixed 38
chars regardless of the table width below it. Now the divider line
is extended to match the table's visual width, with the title text
centered within the '=' borders.

- Add TableVisualWidth() to measure table width via runewidth
- Add HeaderDividerCentered() and HeaderDividerCenteredStyled()
  for centered dividers with optional bold+blue ANSI styling
- Refactor DisplayAffectedReleases to build the table first, then
  compute its width before logging the header
- Update all test snapshots and integration test output files

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero
2026-07-10 21:17:35 +08:00
committed by GitHub
parent 30f529f529
commit a9e4a8518a
59 changed files with 191 additions and 78 deletions
@@ -13,7 +13,7 @@ release "frontend-v1" processed
processing releases in group 2/2: default//backend-v1
release "backend-v1" processed
========== Deleted Releases ==========
======== Deleted Releases ========
NAME NAMESPACE DURATION
frontend-v1 0s
backend-v1 0s
@@ -8,7 +8,7 @@ GROUP RELEASES
processing releases in group 1/1: default//logging
release "logging" processed
========== Deleted Releases ==========
====== Deleted Releases ======
NAME NAMESPACE DURATION
logging 0s
+1 -1
View File
@@ -13,7 +13,7 @@ release "frontend-v1" processed
processing releases in group 2/2: default//backend-v1
release "backend-v1" processed
========== Deleted Releases ==========
======== Deleted Releases ========
NAME NAMESPACE DURATION
frontend-v1 0s
backend-v1 0s
+1 -1
View File
@@ -25,7 +25,7 @@ processing releases in group 5/5: default//front-proxy, default//logging
release "front-proxy" processed
release "logging" processed
========== Deleted Releases ==========
========= Deleted Releases ==========
NAME NAMESPACE DURATION
frontend-v3 0s
frontend-v2 0s