From 843583e2246a2404999b6c36293d7966cfb84334 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Wed, 15 Sep 2021 12:13:09 -0600 Subject: Add overline attribute. --- alacritty/src/display/content.rs | 2 +- alacritty/src/renderer/rects.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'alacritty') diff --git a/alacritty/src/display/content.rs b/alacritty/src/display/content.rs index 9f52e74e..e5ff3780 100644 --- a/alacritty/src/display/content.rs +++ b/alacritty/src/display/content.rs @@ -278,7 +278,7 @@ impl RenderableCell { self.bg_alpha == 0. && self.character == ' ' && self.zerowidth.is_none() - && !self.flags.intersects(Flags::UNDERLINE | Flags::STRIKEOUT | Flags::DOUBLE_UNDERLINE | Flags::UNDERCURL) + && !self.flags.intersects(Flags::UNDERLINE | Flags::STRIKEOUT | Flags::DOUBLE_UNDERLINE | Flags::UNDERCURL | Flags::OVERLINE) } /// Apply [`CellRgb`] colors to the cell's colors. diff --git a/alacritty/src/renderer/rects.rs b/alacritty/src/renderer/rects.rs index f4e98bcf..61ff91b7 100644 --- a/alacritty/src/renderer/rects.rs +++ b/alacritty/src/renderer/rects.rs @@ -99,6 +99,18 @@ impl RenderLine { color, )); }, + Flags::OVERLINE => { + let start_x = start.column.0 as f32 * size.cell_width(); + let end_x = (end.column.0 + 1) as f32 * size.cell_width(); + rects.push(RenderRect::new( + start_x + size.padding_x(), + start.line as f32 * size.cell_height(), + end_x - start_x, + metrics.underline_thickness, + color, + 1., + )); + }, Flags::STRIKEOUT => { rects.push(Self::create_rect( size, @@ -235,6 +247,7 @@ impl RenderLines { self.update_flag(cell, Flags::DOUBLE_UNDERLINE); self.update_flag(cell, Flags::STRIKEOUT); self.update_flag(cell, Flags::UNDERCURL); + self.update_flag(cell, Flags::OVERLINE); } /// Update the lines for a specific flag. -- cgit