diff options
| author | Paul Buetow <paul@buetow.org> | 2025-02-05 01:02:17 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-02-05 01:02:17 +0200 |
| commit | 24778551d8e5b0b47a06494dd28a66a71dfb47f0 (patch) | |
| tree | 6000d14601d57f2f34840793f1798c8baefc59ca /internal/table/render.go | |
| parent | 07d9f1840494924dd6ca713493dd3d630e9ad721 (diff) | |
use of generic ascii table package
Diffstat (limited to 'internal/table/render.go')
| -rw-r--r-- | internal/table/render.go | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/internal/table/render.go b/internal/table/render.go index edac866..c7ed46c 100644 --- a/internal/table/render.go +++ b/internal/table/render.go @@ -25,9 +25,7 @@ func newRender(tab *Table) render { r.lineLen += len + 3 } - separator.WriteString("+\n") - r.separator = separator.String() - + r.separator = tab.sprintf("%s+", separator.String()) + "\n" return r } @@ -35,23 +33,26 @@ func (r render) String() string { var sb strings.Builder sb.WriteString(r.separator) - r.writeRow(&sb, r.tab.headers) + sb.WriteString(r.rowString(r.tab.headers)) sb.WriteString(r.separator) for _, row := range r.tab.rows { - r.writeRow(&sb, row) + sb.WriteString(r.rowString(row)) } sb.WriteString(r.separator) return sb.String() } -func (r render) writeRow(sb *strings.Builder, row []string) { +func (r render) rowString(row []string) string { + var sb strings.Builder + for i, col := range row { sb.WriteString(fmt.Sprintf("| %s ", col)) for j := len(col); j < r.tab.lengths[i]; j++ { sb.WriteString(" ") } } - sb.WriteString("|\n") + + return r.tab.sprintf("%s|", sb.String()) + "\n" } |
