diff options
Diffstat (limited to 'alacritty/src/display.rs')
-rw-r--r-- | alacritty/src/display.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/alacritty/src/display.rs b/alacritty/src/display.rs index 317c8758..6d5d810d 100644 --- a/alacritty/src/display.rs +++ b/alacritty/src/display.rs @@ -366,6 +366,12 @@ impl Display { let selection = !terminal.selection().as_ref().map(Selection::is_empty).unwrap_or(true); let mouse_mode = terminal.mode().intersects(TermMode::MOUSE_MODE); + let vi_mode_cursor = if terminal.mode().contains(TermMode::VI) { + Some(terminal.vi_mode_cursor) + } else { + None + }; + // Update IME position #[cfg(not(windows))] self.window.update_ime_position(&terminal, &self.size_info); @@ -419,6 +425,13 @@ impl Display { } } + // Highlight URLs at the vi mode cursor position + if let Some(vi_mode_cursor) = vi_mode_cursor { + if let Some(url) = self.urls.find_at(vi_mode_cursor.point) { + rects.append(&mut url.rects(&metrics, &size_info)); + } + } + // Push visual bell after url/underline/strikeout rects if visual_bell_intensity != 0. { let visual_bell_rect = RenderRect::new( |