From 694a52bcffeffdc9e163818c3b2ac5c39e26f1ef Mon Sep 17 00:00:00 2001 From: Kirill Chibisov Date: Sun, 10 Jul 2022 20:11:28 +0300 Subject: Add support for hyperlink escape sequence This commit adds support for hyperlink escape sequence `OSC 8 ; params ; URI ST`. The configuration option responsible for those is `hints.enabled.hyperlinks`. Fixes #922. --- alacritty/src/renderer/mod.rs | 6 +++--- alacritty/src/renderer/text/mod.rs | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'alacritty/src/renderer') 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, fg: Rgb, bg: Rgb, - string: &str, + string_chars: impl Iterator, 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: 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); -- cgit