From 5721cdb7ca48815ec89f45c3e06003f23089ff0c Mon Sep 17 00:00:00 2001 From: pagedmov Date: Fri, 20 Feb 2026 14:03:42 -0500 Subject: [PATCH] Highlighter now handles highlighting visual mode selections instead of LineBuf --- src/libsh/term.rs | 12 ++++++++ src/prompt/readline/highlight.rs | 52 +++++++++++++++++++++++++++----- src/prompt/readline/linebuf.rs | 13 +++++--- src/prompt/readline/mod.rs | 23 +++++++++++--- 4 files changed, 84 insertions(+), 16 deletions(-) diff --git a/src/libsh/term.rs b/src/libsh/term.rs index e48cff7..1037b7b 100644 --- a/src/libsh/term.rs +++ b/src/libsh/term.rs @@ -15,6 +15,8 @@ impl Styled for T {} pub enum Style { // Undoes all styles Reset, + ResetFg, + ResetBg, // Foreground Colors Black, Red, @@ -66,6 +68,8 @@ impl Display for Style { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Style::Reset => write!(f, "\x1b[0m"), + Style::ResetFg => write!(f, "\x1b[39m"), + Style::ResetBg => write!(f, "\x1b[49m"), // Foreground colors Style::Black => write!(f, "\x1b[30m"), @@ -127,6 +131,14 @@ impl StyleSet { Self { styles: vec![] } } + pub fn styles(&self) -> &[Style] { + &self.styles + } + + pub fn styles_mut(&mut self) -> &mut Vec