Function yew_ansi::get_sgr_segments

source ·
pub fn get_sgr_segments(s: &str) -> SgrSegmentIter<'_> 
Expand description

Create an iterator which iterates over SGR segments in a string slice. Each item consists of a SgrEffect and the corresponding text slice it applies to.

let mut segments = yew_ansi::get_sgr_segments("Hello \u{001b}[32mWorld\u{001b}[39;1m!");
assert_eq!(segments.next(), Some((SgrEffect::default(), "Hello ")));
assert_eq!(
    segments.next(),
    Some((
        SgrEffect {
            fg: ColorEffect::Name(ColorName::Green),
            ..Default::default()
        },
        "World"
    ))
);
assert_eq!(
    segments.next(),
    Some((
        SgrEffect {
            bold: true,
            ..Default::default()
        },
        "!"
    ))
);