aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/renderer')
-rw-r--r--alacritty/src/renderer/mod.rs6
-rw-r--r--alacritty/src/renderer/text/mod.rs4
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);