Files
wehub-resource-sync bf9395e022
CI / results (push) Blocked by required conditions
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / e2e-live (push) Waiting to run
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / deadcode (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:22:54 +08:00

40 lines
856 B
Go

// Copyright (c) 2026 Lark Technologies Pte. Ltd.
// SPDX-License-Identifier: MIT
package event
import (
"fmt"
"io"
)
// tableWidths returns the max cell width per column across headers + rows.
func tableWidths(headers []string, rows [][]string) []int {
widths := make([]int, len(headers))
for i, h := range headers {
widths[i] = len(h)
}
for _, row := range rows {
for i, cell := range row {
if i >= len(widths) {
break
}
if l := len(cell); l > widths[i] {
widths[i] = l
}
}
}
return widths
}
// printTableRow renders one padded row; final cell is unpadded to avoid trailing whitespace.
func printTableRow(out io.Writer, widths []int, cells []string, gap string) {
for i, cell := range cells {
if i == len(cells)-1 {
fmt.Fprintln(out, cell)
return
}
fmt.Fprintf(out, "%-*s%s", widths[i], cell, gap)
}
}