summaryrefslogtreecommitdiff
path: root/internal/table/render.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-02-05 01:02:17 +0200
committerPaul Buetow <paul@buetow.org>2025-02-05 01:02:17 +0200
commit24778551d8e5b0b47a06494dd28a66a71dfb47f0 (patch)
tree6000d14601d57f2f34840793f1798c8baefc59ca /internal/table/render.go
parent07d9f1840494924dd6ca713493dd3d630e9ad721 (diff)
use of generic ascii table package
Diffstat (limited to 'internal/table/render.go')
-rw-r--r--internal/table/render.go15
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"
}