From 3b69ea6fbc603f631711c31a443e43744eaeb08c Mon Sep 17 00:00:00 2001 From: nobe4 Date: Tue, 7 Jan 2025 12:01:02 +0100 Subject: [PATCH] feat: make the extension upgrade fancier This left-pad the extension names during upgrade so they all align nicely. It makes easier to see what is happening. --- pkg/cmd/extension/manager.go | 11 ++++++++++- pkg/cmd/extension/manager_test.go | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/extension/manager.go b/pkg/cmd/extension/manager.go index 269d58ae0..49c448b7e 100644 --- a/pkg/cmd/extension/manager.go +++ b/pkg/cmd/extension/manager.go @@ -469,9 +469,18 @@ func (m *Manager) Upgrade(name string, force bool) error { } func (m *Manager) upgradeExtensions(exts []*Extension, force bool) error { + var longestExtName = 0 + for _, ext := range exts { + l := len(ext.Name()) + if len(ext.Name()) > longestExtName { + longestExtName = l + } + } + format := fmt.Sprintf("[%%%ds]: ", longestExtName) + var failed bool for _, f := range exts { - fmt.Fprintf(m.io.Out, "[%s]: ", f.Name()) + fmt.Fprintf(m.io.Out, format, f.Name()) currentVersion := displayExtensionVersion(f, f.CurrentVersion()) err := m.upgradeExtension(f, force) if err != nil { diff --git a/pkg/cmd/extension/manager_test.go b/pkg/cmd/extension/manager_test.go index 025d6e125..b83f17185 100644 --- a/pkg/cmd/extension/manager_test.go +++ b/pkg/cmd/extension/manager_test.go @@ -256,7 +256,7 @@ func TestManager_UpgradeExtensions(t *testing.T) { ` [hello]: upgraded from old vers to new vers [local]: local extensions can not be upgraded - [two]: upgraded from old vers to new vers + [ two]: upgraded from old vers to new vers `, ), stdout.String()) assert.Equal(t, "", stderr.String()) @@ -293,7 +293,7 @@ func TestManager_UpgradeExtensions_DryRun(t *testing.T) { ` [hello]: would have upgraded from 0 to 1 [local]: local extensions can not be upgraded - [two]: would have upgraded from 2 to 3 + [ two]: would have upgraded from 2 to 3 `, ), stdout.String()) assert.Equal(t, "", stderr.String())