sdtab

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Truncate

func Truncate(v string, maxWidth int) string
Example
type Data struct {
	FieldA string `sdtab:"A,trunc"`
	FieldB string `sdtab:"B,trunc"`
}

var testData = []Data{
	{FieldA: "a1", FieldB: "b1"},
	{
		FieldA: strings.Repeat("a", 70),
		FieldB: "b",
	},
	{
		FieldA: "a",
		FieldB: strings.Repeat("b", 180),
	},
	{
		FieldA: strings.Repeat("a", 70),
		FieldB: strings.Repeat("b", 180),
	},
}

tab := New[Data](os.Stdout)
tab.SetTermSize(100, 50)
tab.AddHeader()
for _, d := range testData {
	tab.AddRow(d)
}
tab.Flush()
Output:

A                             B
a1                            b1
aaaaaaaaaaaaaaaaaaaaaaaa...   b
a                             bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...
aaaaaaaaaaaaaaaaaaaaaaaa...   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

Types

type T

type T[R any] struct {
	// contains filtered or unexported fields
}

func New

func New[R any](w io.Writer) *T[R]

func (*T[R]) AddHeader

func (t *T[R]) AddHeader()

func (*T[R]) AddRow

func (t *T[R]) AddRow(r R)

func (*T[R]) Flush

func (t *T[R]) Flush() error

func (*T[R]) SetTermSize

func (t *T[R]) SetTermSize(width, height int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL