Styled Text
Spans
A Span is a run of text with a uniform style:
go
span := tui.NewSpan("important", tui.NewStyle().Fg(tui.Red).Bold(true))Convenience constructors:
go
tui.PlainSpan("normal text")
tui.BoldSpan("bold text")
tui.ColorSpan("colored", tui.Green)
tui.StyledSpan("custom", myStyle)Styled Lines
Combine spans into a single line:
go
line := tui.NewStyledLine(
tui.BoldSpan("Status: "),
tui.ColorSpan("OK", tui.Green),
tui.PlainSpan(" | "),
tui.ColorSpan("3 warnings", tui.Yellow),
)
line.Render(buf, 0, 0)Styled Text Blocks
Stack multiple lines:
go
text := tui.NewStyledText(
tui.NewStyledLine(
tui.BoldSpan("Server: "),
tui.ColorSpan("production", tui.Cyan),
),
tui.NewStyledLine(
tui.BoldSpan("Uptime: "),
tui.PlainSpan("14 days"),
),
tui.NewStyledLine(
tui.BoldSpan("Load: "),
tui.ColorSpan("1.24", tui.Green),
),
)
text.Render(buf, area)Line Width
Calculate the display width of a styled line:
go
line := tui.NewStyledLine(tui.PlainSpan("hello"), tui.BoldSpan(" world"))
width := line.Width() // 11