From be03effdbe5b5bdabfed50d87963e78017329182 Mon Sep 17 00:00:00 2001 From: Sonu Bardai <67749330+SonuBardai@users.noreply.github.com> Date: Thu, 15 Jun 2023 05:33:38 +0530 Subject: Add option to persist hints after selection Closes #6976. --- alacritty/src/config/ui_config.rs | 5 +++++ alacritty/src/display/hint.rs | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'alacritty/src') diff --git a/alacritty/src/config/ui_config.rs b/alacritty/src/config/ui_config.rs index ce236441..c4a1c83d 100644 --- a/alacritty/src/config/ui_config.rs +++ b/alacritty/src/config/ui_config.rs @@ -274,6 +274,7 @@ impl Default for Hints { enabled: vec![Hint { content, action, + persist: false, post_processing: true, mouse: Some(HintMouse { enabled: true, mods: Default::default() }), binding: Some(HintBinding { @@ -366,6 +367,10 @@ pub struct Hint { #[serde(default)] pub post_processing: bool, + /// Persist hints after selection. + #[serde(default)] + pub persist: bool, + /// Hint mouse highlighting. pub mouse: Option, diff --git a/alacritty/src/display/hint.rs b/alacritty/src/display/hint.rs index c30a88c5..0ff070ec 100644 --- a/alacritty/src/display/hint.rs +++ b/alacritty/src/display/hint.rs @@ -150,7 +150,12 @@ impl HintState { let bounds = self.matches[index].clone(); let action = hint.action.clone(); - self.stop(); + // Exit hint mode unless it requires explicit dismissal. + if hint.persist { + self.keys.clear(); + } else { + self.stop(); + } // Hyperlinks take precedence over regex matches. let hyperlink = term.grid()[*bounds.start()].hyperlink(); -- cgit