use super::TermTextSpan;
pub struct TermTextSpans<'a> {
text: &'a str,
}
impl<'a> TermTextSpans<'a> {
pub fn new(text: &'a str) -> Self {
Self { text }
}
pub fn as_str(&self) -> &'a str {
self.text
}
}
impl<'a> Iterator for TermTextSpans<'a> {
type Item = TermTextSpan<'a>;
fn next(&mut self) -> Option<Self::Item> {
if self.text.is_empty() {
None
} else {
let (span, text) = TermTextSpan::create(self.text);
self.text = text;
Some(span)
}
}
}