Rich-text value composed of one or more ExRatatui.Text.Lines.
Text mirrors ratatui's Text type: a list of lines with an optional
top-level style and alignment. Styles cascade from the outermost layer
inward (widget → Text → Line → Span); innermost values win on conflict.
Per-line alignment (when set) overrides the widget's default alignment
for that line.
Used as the expanded form behind widget fields that accept rich text
(Paragraph.text, List.items, Table cells, and — via
ExRatatui.Text.Line — Tabs.titles and Block.title).
Fields
:lines- list of%ExRatatui.Text.Line{}:style-%ExRatatui.Style{}applied as the outermost default style:alignment-:left,:center,:right, ornil(inherit from widget)
Examples
iex> alias ExRatatui.Text
iex> alias ExRatatui.Text.{Line, Span}
iex> alias ExRatatui.Style
iex> Text.new([
...> Line.new([Span.new("Hello ", style: %Style{fg: :green}), Span.new("world")]),
...> Line.new([Span.new("Second line")])
...> ])
%ExRatatui.Text{
lines: [
%ExRatatui.Text.Line{
spans: [
%ExRatatui.Text.Span{
content: "Hello ",
style: %ExRatatui.Style{fg: :green, bg: nil, modifiers: []}
},
%ExRatatui.Text.Span{content: "world", style: %ExRatatui.Style{}}
],
style: %ExRatatui.Style{},
alignment: nil
},
%ExRatatui.Text.Line{
spans: [%ExRatatui.Text.Span{content: "Second line", style: %ExRatatui.Style{}}],
style: %ExRatatui.Style{},
alignment: nil
}
],
style: %ExRatatui.Style{},
alignment: nil
}
Summary
Functions
Builds a %Text{} from a list of lines and options.
Types
@type alignment() :: :left | :center | :right | nil
@type t() :: %ExRatatui.Text{ alignment: alignment(), lines: [ExRatatui.Text.Line.t()], style: ExRatatui.Style.t() }
Functions
@spec new( [ExRatatui.Text.Line.t()], keyword() ) :: t()
Builds a %Text{} from a list of lines and options.
Options:
:style- a%ExRatatui.Style{}(default:%Style{}):alignment-:left,:center,:right, ornil(default:nil)
Raises ArgumentError for an invalid :alignment value.