|
|
|
@ -68,10 +68,7 @@ impl<H: Iterator<Item = HighlightEvent>> Iterator for StyleIter<'_, H> {
|
|
|
|
|
HighlightEvent::HighlightEnd => {
|
|
|
|
|
self.active_highlights.pop();
|
|
|
|
|
}
|
|
|
|
|
HighlightEvent::Source { start, mut end } => {
|
|
|
|
|
if start == end {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
HighlightEvent::Source { mut end, .. } => {
|
|
|
|
|
let style = self
|
|
|
|
|
.active_highlights
|
|
|
|
|
.iter()
|
|
|
|
@ -300,12 +297,12 @@ pub fn render_text<'t>(
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// acquire the correct grapheme style
|
|
|
|
|
if char_pos >= syntax_style_span.1 {
|
|
|
|
|
while char_pos >= syntax_style_span.1 {
|
|
|
|
|
syntax_style_span = syntax_styles
|
|
|
|
|
.next()
|
|
|
|
|
.unwrap_or((Style::default(), usize::MAX));
|
|
|
|
|
}
|
|
|
|
|
if char_pos >= overlay_style_span.1 {
|
|
|
|
|
while char_pos >= overlay_style_span.1 {
|
|
|
|
|
overlay_style_span = overlay_styles
|
|
|
|
|
.next()
|
|
|
|
|
.unwrap_or((Style::default(), usize::MAX));
|
|
|
|
|