Skip to content

Commit 3317f22

Browse files
committed
cmd/list: Crude tablewriter error handling
Signed-off-by: Julien Champoux <[email protected]>
1 parent 45dc834 commit 3317f22

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

internal/cmd/table.go

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,55 @@ func RenderTable(w io.Writer, format string, header []string, data [][]string, r
5050

5151
switch format {
5252
case TableFormatTable:
53-
table := getBaseTable(w, header, data)
53+
table, err := getBaseTable(w, header, data)
54+
if err != nil {
55+
return err
56+
}
57+
5458
table.Options(tablewriter.WithRendition(tw.Rendition{
5559
Settings: tw.Settings{
5660
Separators: tw.Separators{
5761
BetweenRows: tw.On,
5862
},
5963
},
6064
}))
61-
table.Render()
65+
66+
err = table.Render()
67+
if err != nil {
68+
return err
69+
}
6270

6371
case TableFormatCompact:
64-
table := getBaseTable(w, header, data)
72+
table, err := getBaseTable(w, header, data)
73+
if err != nil {
74+
return err
75+
}
76+
6577
table.Options(tablewriter.WithRendition(tw.Rendition{
6678
Borders: tw.BorderNone,
6779
Settings: tw.Settings{
6880
Lines: tw.LinesNone,
6981
Separators: tw.SeparatorsNone,
7082
},
7183
}))
72-
table.Render()
84+
85+
err = table.Render()
86+
if err != nil {
87+
return err
88+
}
7389

7490
case TableFormatMarkdown:
75-
table := getBaseTable(w, header, data)
91+
table, err := getBaseTable(w, header, data)
92+
if err != nil {
93+
return err
94+
}
95+
7696
table.Options(tablewriter.WithRenderer(renderer.NewMarkdown()))
77-
table.Render()
97+
98+
err = table.Render()
99+
if err != nil {
100+
return err
101+
}
78102

79103
case TableFormatCSV:
80104
w := csv.NewWriter(w)
@@ -118,7 +142,7 @@ func RenderTable(w io.Writer, format string, header []string, data [][]string, r
118142
return nil
119143
}
120144

121-
func getBaseTable(w io.Writer, header []string, data [][]string) *tablewriter.Table {
145+
func getBaseTable(w io.Writer, header []string, data [][]string) (*tablewriter.Table, error) {
122146
table := tablewriter.NewTable(
123147
w,
124148
tablewriter.WithRowAlignment(tw.AlignLeft),
@@ -129,8 +153,8 @@ func getBaseTable(w io.Writer, header []string, data [][]string) *tablewriter.Ta
129153
}),
130154
)
131155
table.Header(header)
132-
table.Bulk(data)
133-
return table
156+
err := table.Append(data)
157+
return table, err
134158
}
135159

136160
// Column represents a single column in a table.

0 commit comments

Comments
 (0)