From 6f77668f23d033af2e3bd4ce964ca60145259000 Mon Sep 17 00:00:00 2001 From: Noah Hellman Date: Tue, 2 Apr 2024 18:19:28 +0200 Subject: [PATCH 1/2] ansi parser: fix dim / half-bright Fixes #495 --- src/ansi.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/ansi.rs b/src/ansi.rs index 7f68f283..ea6caf03 100644 --- a/src/ansi.rs +++ b/src/ansi.rs @@ -75,7 +75,7 @@ impl Perform for ANSIParser { match code[0] { 0 => attr = Attr::default(), 1 => attr.effect |= Effect::BOLD, - 2 => attr.effect |= !Effect::BOLD, + 2 => attr.effect |= Effect::DIM, 4 => attr.effect |= Effect::UNDERLINE, 5 => attr.effect |= Effect::BLINK, 7 => attr.effect |= Effect::REVERSE, @@ -606,4 +606,21 @@ mod tests { assert_eq!(Some(('a', highlight)), it.next()); assert_eq!(None, it.next()); } + + #[test] + fn test_ansi_dim() { + // https://github.com/lotabout/skim/issues/495 + let input = "\x1B[2mhi\x1b[0m"; + let ansistring = ANSIParser::default().parse_ansi(input); + let mut it = ansistring.iter(); + let attr = Attr { + effect: Effect::DIM, + ..Attr::default() + }; + + assert_eq!(Some(('h', attr)), it.next()); + assert_eq!(Some(('i', attr)), it.next()); + assert_eq!(None, it.next()); + assert_eq!(ansistring.stripped(), "hi"); + } } From 4092b478548b5ee727aee4b7af4f8cd20eed21e1 Mon Sep 17 00:00:00 2001 From: LoricAndre Date: Thu, 7 Nov 2024 18:01:11 +0100 Subject: [PATCH 2/2] trigger ci