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
@@ -4,6 +4,6 @@ Listing releases matching ^uninstalled$
Upgrading release=installed, chart=../../../charts/httpbin, namespace=helmfile-tests
Listing releases matching ^installed$
========== Updated Releases ==========
=========================== Updated Releases ============================
NAME NAMESPACE CHART VERSION DURATION
@@ -4,6 +4,6 @@ Listing releases matching ^uninstalled$
Upgrading release=installed, chart=../../../charts/httpbin, namespace=helmfile-tests
Listing releases matching ^installed$
========== Updated Releases ==========
=========================== Updated Releases ============================
NAME NAMESPACE CHART VERSION DURATION
@@ -9,6 +9,6 @@ REVISION: 1
TEST SUITE: None
Listing releases matching ^installed$
========== Updated Releases ==========
=========================== Updated Releases ============================
NAME NAMESPACE CHART VERSION DURATION
@@ -10,6 +10,6 @@ DESCRIPTION: Install complete
TEST SUITE: None
Listing releases matching ^installed$
========== Updated Releases ==========
=========================== Updated Releases ============================
NAME NAMESPACE CHART VERSION DURATION