TextSpan class
An immutable span of text that can hold styling overrides and nested child spans.
Under standard terminal styling, TextSpan represents a hierarchical tree node that propagates formatting rules (color, bold, underline, etc.) to all descendants. Any child TextSpan overrides specific properties while inheriting the remaining styles.
Example
const TextSpan(
style: Style(foreground: CharmColors.pepper),
children: [
TextSpan(text: 'This is red and normal '),
TextSpan(
text: 'bold text',
style: Style(modifiers: Modifier.bold),
),
],
)
Constructors
Properties
-
children
→ List<
TextSpan> -
Nested child text spans that inherit styling from this node.
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- style → Style?
-
Style overrides applied to this span and its children.
final
- text → String?
-
The literal text represented by this span. Can be null if this span only hosts children.
final
Methods
-
buildStyledChars(
List< StyledChar> output, Style parentStyle) → void - Recursively flattens the styling tree into a list of styled characters.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override