From b4759d5f083e028598c97d487fe8cdff8eaebec4 Mon Sep 17 00:00:00 2001 From: Evan Fiordeliso Date: Thu, 16 Nov 2023 22:58:49 -0500 Subject: [PATCH] Fix spacing on subcommand names --- help.go | 5 ++++- set.go | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/help.go b/help.go index 62c4496..cfc5129 100644 --- a/help.go +++ b/help.go @@ -2,6 +2,7 @@ package cmd import ( "fmt" + "strings" "go.fifitido.net/cmd/opt" ) @@ -43,8 +44,10 @@ func (c *Command) ShowHelp() { fmt.Println("Available subcommands:") } + paddedWidth := c.Subcommands.MaxWidth() for _, s := range c.Subcommands { - fmt.Println(" " + s.Name + " " + s.ShortDescription) + spaceSize := 2 + paddedWidth - len(s.Name) + fmt.Println(" " + s.Name + strings.Repeat(" ", spaceSize) + s.ShortDescription) } } diff --git a/set.go b/set.go index 8e756ea..e3e9557 100644 --- a/set.go +++ b/set.go @@ -25,7 +25,7 @@ func (s Set) Get(name string) (*Command, bool) { return nil, false } -func (s Set) MaxNameWidth() int { +func (s Set) MaxWidth() int { max := 0 for _, f := range s { if w := len(f.Name); w > max {