diff options
Diffstat (limited to 'alacritty/src/renderer')
-rw-r--r-- | alacritty/src/renderer/mod.rs | 6 | ||||
-rw-r--r-- | alacritty/src/renderer/text/mod.rs | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/alacritty/src/renderer/mod.rs b/alacritty/src/renderer/mod.rs index eb0012bd..6ee8815c 100644 --- a/alacritty/src/renderer/mod.rs +++ b/alacritty/src/renderer/mod.rs @@ -125,14 +125,14 @@ impl Renderer { point: Point<usize>, fg: Rgb, bg: Rgb, - string: &str, + string_chars: impl Iterator<Item = char>, size_info: &SizeInfo, glyph_cache: &mut GlyphCache, ) { - let cells = string.chars().enumerate().map(|(i, character)| RenderableCell { + let cells = string_chars.enumerate().map(|(i, character)| RenderableCell { point: Point::new(point.line, point.column + i), character, - zerowidth: None, + extra: None, flags: Flags::empty(), bg_alpha: 1.0, fg, diff --git a/alacritty/src/renderer/text/mod.rs b/alacritty/src/renderer/text/mod.rs index 96945f67..228d2671 100644 --- a/alacritty/src/renderer/text/mod.rs +++ b/alacritty/src/renderer/text/mod.rs @@ -159,7 +159,9 @@ pub trait TextRenderApi<T: TextRenderBatch>: LoadGlyph { self.add_render_item(&cell, &glyph, size_info); // Render visible zero-width characters. - if let Some(zerowidth) = cell.zerowidth.take().filter(|_| !hidden) { + if let Some(zerowidth) = + cell.extra.as_mut().and_then(|extra| extra.zerowidth.take().filter(|_| !hidden)) + { for character in zerowidth { glyph_key.character = character; let glyph = glyph_cache.get(glyph_key, self, false); |