From c7c48eab43dee7528b9de4e76164dde5571af48b Mon Sep 17 00:00:00 2001 From: bth Date: Sun, 18 Jan 2026 15:03:31 -0800 Subject: [PATCH] flags : tabwriter output --- flags/flags.go | 11 ++++++++--- next/next.go | 1 - 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/flags/flags.go b/flags/flags.go index 466fd71..8a769e6 100644 --- a/flags/flags.go +++ b/flags/flags.go @@ -2,8 +2,10 @@ package flags import ( "fmt" + "os" "reflect" "strings" + "text/tabwriter" ) type Arg struct { @@ -42,16 +44,19 @@ func Help(subcmd string, opts any) { t := v.Type() fmt.Printf("um %s usage:\n", subcmd) + w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', 0) + for i := 0; i < v.NumField(); i++ { field := t.Field(i) value := v.Field(i) switch value.Interface().(type) { case Arg: - fmt.Printf("%-12v string\t: %v\n", "["+strings.ToLower(field.Name)+"]", value.FieldByName("Help")) + fmt.Fprintf(w, "[%v]\tstring\t%v\n", strings.ToLower(field.Name), value.FieldByName("Help")) case Flag[string]: - fmt.Printf("%-12v | %v string\t: %v\n", value.FieldByName("Long"), value.FieldByName("Short"), value.FieldByName("Help")) + fmt.Fprintf(w, "%v | %v\tstring\t%v\n", value.FieldByName("Long"), value.FieldByName("Short"), value.FieldByName("Help")) case Flag[bool]: - fmt.Printf("%-12v | %v bool\t: %v\n", value.FieldByName("Long"), value.FieldByName("Short"), value.FieldByName("Help")) + fmt.Fprintf(w, "%v | %v\tbool\t%v\n", value.FieldByName("Long"), value.FieldByName("Short"), value.FieldByName("Help")) } } + w.Flush() } diff --git a/next/next.go b/next/next.go index f2e6c89..2936c87 100644 --- a/next/next.go +++ b/next/next.go @@ -41,7 +41,6 @@ func ParseArgs(args []string) options { } func Next(args []string) { - fmt.Println("next") opts := ParseArgs(args) fmt.Println(opts) }