on master help sign in
crossterm: Handle 'hidden' modifier (#8120)

Crossterm supports the 'hidden' SGR parameter but we previously didn't set the attribute when the "hidden" modifier was specified in a theme.

commita2767269d0e8500b49088a472856e41cd6dee492 authorMichael Davis <mcarsondavis@gmail.com> dateThu 31 Aug 2023, 01:11 (3 years ago) parent6bef982
1 file changed+6
helix-tui/src/backend/crossterm.rs+6
helix-tui/src/backend/crossterm.rs+6
@@ -328,6 +328,9 @@ impl ModifierDiff {
328328 if removed.contains(Modifier::SLOW_BLINK) || removed.contains(Modifier::RAPID_BLINK) {
329329 queue!(w, SetAttribute(CAttribute::NoBlink))?;
330330 }
331+ if removed.contains(Modifier::HIDDEN) {
332+ queue!(w, SetAttribute(CAttribute::NoHidden))?;
333+ }
331334
332335 let added = self.to - self.from;
333336 if added.contains(Modifier::REVERSED) {
@@ -351,6 +354,9 @@ impl ModifierDiff {
351354 if added.contains(Modifier::RAPID_BLINK) {
352355 queue!(w, SetAttribute(CAttribute::RapidBlink))?;
353356 }
357+ if added.contains(Modifier::HIDDEN) {
358+ queue!(w, SetAttribute(CAttribute::Hidden))?;
359+ }
354360
355361 Ok(())
356362 }