Struct ratatui::text::Spans

source ·
pub struct Spans<'a>(pub Vec<Span<'a>>);
👎Deprecated: Use ratatui::text::Line instead
Expand description

A string composed of clusters of graphemes, each with their own style.

Spans has been deprecated in favor of Line, and will be removed in the future. All methods that accept Spans have been replaced with methods that accept Into<Line<’a>> (which is implemented on Spans) to allow users of this crate to gradually transition to Line.

Tuple Fields§

§0: Vec<Span<'a>>
👎Deprecated: Use ratatui::text::Line instead

Implementations§

source§

impl<'a> Spans<'a>

source

pub fn width(&self) -> usize

Returns the width of the underlying string.

Examples
let spans = Spans::from(vec![
    Span::styled("My", Style::default().fg(Color::Yellow)),
    Span::raw(" text"),
]);
assert_eq!(7, spans.width());
source

pub fn patch_style(&mut self, style: Style)

Patches the style of each Span in an existing Spans, adding modifiers from the given style.

Examples
let style = Style::default().fg(Color::Yellow).add_modifier(Modifier::ITALIC);
let mut raw_spans = Spans::from(vec![
    Span::raw("My"),
    Span::raw(" text"),
]);
let mut styled_spans = Spans::from(vec![
    Span::styled("My", style),
    Span::styled(" text", style),
]);

assert_ne!(raw_spans, styled_spans);

raw_spans.patch_style(style);
assert_eq!(raw_spans, styled_spans);
source

pub fn reset_style(&mut self)

Resets the style of each Span in the Spans. Equivalent to calling patch_style(Style::reset()).

Examples
let mut spans = Spans::from(vec![
    Span::styled("My", Style::default().fg(Color::Yellow)),
    Span::styled(" text", Style::default().add_modifier(Modifier::BOLD)),
]);

spans.reset_style();
assert_eq!(Style::reset(), spans.0[0].style);
assert_eq!(Style::reset(), spans.0[1].style);
source

pub fn alignment(self, alignment: Alignment) -> Line<'a>

Sets the target alignment for this line of text. Defaults to: None, meaning the alignment is determined by the rendering widget.

Examples
let mut line = Spans::from("Hi, what's up?").alignment(Alignment::Right);
assert_eq!(Some(Alignment::Right), line.alignment)

Trait Implementations§

source§

impl<'a> Clone for Spans<'a>

source§

fn clone(&self) -> Spans<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Spans<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Default for Spans<'a>

source§

fn default() -> Spans<'a>

Returns the “default value” for a type. Read more
source§

impl<'a> From<&'a str> for Spans<'a>

source§

fn from(s: &'a str) -> Spans<'a>

Converts to this type from the input type.
source§

impl<'a> From<Span<'a>> for Spans<'a>

source§

fn from(span: Span<'a>) -> Spans<'a>

Converts to this type from the input type.
source§

impl<'a> From<Spans<'a>> for Line<'a>

source§

fn from(value: Spans<'a>) -> Self

Converts to this type from the input type.
source§

impl<'a> From<Spans<'a>> for String

source§

fn from(line: Spans<'a>) -> String

Converts to this type from the input type.
source§

impl<'a> From<Spans<'a>> for Text<'a>

source§

fn from(spans: Spans<'a>) -> Text<'a>

Converts to this type from the input type.
source§

impl<'a> From<String> for Spans<'a>

source§

fn from(s: String) -> Spans<'a>

Converts to this type from the input type.
source§

impl<'a> From<Vec<Span<'a>, Global>> for Spans<'a>

source§

fn from(spans: Vec<Span<'a>>) -> Spans<'a>

Converts to this type from the input type.
source§

impl<'a> PartialEq<Spans<'a>> for Spans<'a>

source§

fn eq(&self, other: &Spans<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for Spans<'a>

source§

impl<'a> StructuralEq for Spans<'a>

source§

impl<'a> StructuralPartialEq for Spans<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Spans<'a>

§

impl<'a> Send for Spans<'a>

§

impl<'a> Sync for Spans<'a>

§

impl<'a> Unpin for Spans<'a>

§

impl<'a> UnwindSafe for Spans<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.