From be2a61047c07b0c2dedf00b5e919bb5302d8cd93 Mon Sep 17 00:00:00 2001 From: Ian Howell Date: Thu, 23 May 2019 15:24:56 -0500 Subject: [PATCH] Move tabwriter to package util This offloads the "magic numbers" that are used when creating a tabwriter --- cmd/workflow/workflow_list.go | 4 ++-- pkg/util/tabwriter.go | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 pkg/util/tabwriter.go diff --git a/cmd/workflow/workflow_list.go b/cmd/workflow/workflow_list.go index ae0f0a1a2..f194154d8 100644 --- a/cmd/workflow/workflow_list.go +++ b/cmd/workflow/workflow_list.go @@ -3,11 +3,11 @@ package workflow import ( "fmt" "io" - "text/tabwriter" "github.com/spf13/cobra" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "github.com/ian-howell/airshipctl/pkg/util" "github.com/ian-howell/airshipctl/pkg/environment" wfenv "github.com/ian-howell/airshipctl/pkg/workflow/environment" ) @@ -29,7 +29,7 @@ func NewWorkflowListCommand(out io.Writer, rootSettings *environment.AirshipCTLS if err != nil { panic(err.Error()) } - w := tabwriter.NewWriter(out, 0, 0, 5, ' ', 0) + w := util.NewTabWriter(out) defer w.Flush() fmt.Fprintf(w, "%s\t%s\n", "NAME", "PHASE") for _, wf := range wflist.Items { diff --git a/pkg/util/tabwriter.go b/pkg/util/tabwriter.go new file mode 100644 index 000000000..43e089848 --- /dev/null +++ b/pkg/util/tabwriter.go @@ -0,0 +1,19 @@ +package util + +import ( + "io" + "text/tabwriter" +) + +const ( + tabwriterMinWidth = 6 + tabwriterWidth = 4 + tabwriterPadding = 3 + tabwriterPadChar = ' ' + tabwriterFlags = 0 +) + +// NewTabWriter returns a tabwriter that translates tabbed columns in input into properly aligned text. +func NewTabWriter(out io.Writer) *tabwriter.Writer { + return tabwriter.NewWriter(out, tabwriterMinWidth, tabwriterWidth, tabwriterPadding, tabwriterPadChar, tabwriterFlags) +}