mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 11:04:18 +02:00
adopt latest golang enhancements (#91)
This commit is contained in:
@@ -27,7 +27,7 @@ func (b *ByteSize) String() string {
|
||||
}
|
||||
|
||||
func Bytes(size int64) *ByteSize {
|
||||
return &ByteSize{size: uint64(size)}
|
||||
return new(ByteSize{size: uint64(size)})
|
||||
}
|
||||
|
||||
func ByteString(size int64) string {
|
||||
|
||||
@@ -35,15 +35,20 @@ type Table struct {
|
||||
RawHeaders []string
|
||||
Entries [][]any
|
||||
|
||||
rows [][]string // representation used for printing
|
||||
processed bool
|
||||
lenHeaders []int
|
||||
alignInts bool
|
||||
maxwidth int
|
||||
rows [][]string // representation used for printing
|
||||
processed bool
|
||||
lenHeaders []int
|
||||
alignInts bool
|
||||
maxwidth int
|
||||
debugGoRoutines bool
|
||||
}
|
||||
|
||||
func NewTable(conf *cfg.Config, columns, rows int) *Table {
|
||||
table := Table{Mode: conf.Output, maxwidth: cfg.GetTermWidth()}
|
||||
table := new(Table{
|
||||
Mode: conf.Output,
|
||||
maxwidth: cfg.GetTermWidth(),
|
||||
debugGoRoutines: conf.DebugGoRoutines,
|
||||
})
|
||||
|
||||
table.Headers = make([]string, columns)
|
||||
table.RawHeaders = make([]string, columns)
|
||||
@@ -51,14 +56,18 @@ func NewTable(conf *cfg.Config, columns, rows int) *Table {
|
||||
table.lenHeaders = make([]int, columns)
|
||||
table.alignInts = conf.AlignInts
|
||||
|
||||
return &table
|
||||
return table
|
||||
}
|
||||
|
||||
func NewTableEmpty(conf *cfg.Config) *Table {
|
||||
table := Table{Mode: conf.Output, maxwidth: cfg.GetTermWidth()}
|
||||
table := new(Table{
|
||||
Mode: conf.Output,
|
||||
maxwidth: cfg.GetTermWidth(),
|
||||
debugGoRoutines: conf.DebugGoRoutines,
|
||||
})
|
||||
table.alignInts = conf.AlignInts
|
||||
|
||||
return &table
|
||||
return table
|
||||
}
|
||||
|
||||
func (table *Table) WithHeaders(headers ...string) *Table {
|
||||
@@ -75,16 +84,24 @@ func (table *Table) WithHeaders(headers ...string) *Table {
|
||||
}
|
||||
|
||||
func (table *Table) Print() error {
|
||||
var err error
|
||||
|
||||
switch table.Mode {
|
||||
case "json":
|
||||
return table.PrintJSON()
|
||||
err = table.PrintJSON()
|
||||
case "yaml":
|
||||
return table.PrintYAML()
|
||||
err = table.PrintYAML()
|
||||
case "csv":
|
||||
return table.PrintCSV()
|
||||
err = table.PrintCSV()
|
||||
default:
|
||||
return table.PrintTSV()
|
||||
err = table.PrintTSV()
|
||||
}
|
||||
|
||||
if table.debugGoRoutines {
|
||||
printGoRoutineMetrics()
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -149,9 +166,11 @@ func (table *Table) PrintTSV() error {
|
||||
wrapped := wrapper(entry)
|
||||
|
||||
// and indent it
|
||||
for idx, line := range strings.Split(wrapped, "\n") {
|
||||
if idx == 0 {
|
||||
first := true
|
||||
for line := range strings.Lines(wrapped) {
|
||||
if first {
|
||||
entry = line
|
||||
first = false
|
||||
} else {
|
||||
entry += "\n " + strings.Repeat(" ", currentWidth) + line
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user