ui/table: fix width calculation of multi-line column headers

This commit is contained in:
Michael Eischer 2024-06-07 21:44:49 +02:00
parent e9de9684f4
commit edd3e214c2
2 changed files with 16 additions and 1 deletions

View File

@ -142,7 +142,7 @@ func (t *Table) Write(w io.Writer) error {
for i, desc := range t.columns {
for _, line := range strings.Split(desc, "\n") {
if columnWidths[i] < ui.TerminalDisplayWidth(line) {
columnWidths[i] = ui.TerminalDisplayWidth(desc)
columnWidths[i] = ui.TerminalDisplayWidth(line)
}
}
}

View File

@ -29,6 +29,21 @@ first column
----------------------
data: first data field
----------------------
`,
},
{
func(t testing.TB) *Table {
table := New()
table.AddColumn("first\ncolumn", "{{.First}}")
table.AddRow(struct{ First string }{"data"})
return table
},
`
first
column
------
data
------
`,
},
{