summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--alacritty/src/config/ui_config.rs5
-rw-r--r--alacritty/src/display/hint.rs7
-rw-r--r--extra/man/alacritty.5.scd13
4 files changed, 24 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ca925ff..deb96e03 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Added
- Warnings for unused configuration file options
+- Config option `persist` in `hints` config section
### Changed
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<HintMouse>,
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();
diff --git a/extra/man/alacritty.5.scd b/extra/man/alacritty.5.scd
index 055cacfa..5aecd510 100644
--- a/extra/man/alacritty.5.scd
+++ b/extra/man/alacritty.5.scd
@@ -35,10 +35,14 @@ This section documents the root level of the configuration file.
Live config reload (changes require restart)
+ Default: _true_
+
*ipc_socket* <boolean> _(unix only)_
Offer IPC using _alacritty msg_
+ Default: _true_
+
# ENV
All key-value pairs in the *env* section will be added as environment variables
@@ -410,6 +414,8 @@ Colors are specified using their hexadecimal values with a _#_ prefix: _#RRGGBB_
When _true_, bold text is drawn using the bright color variants.
+ Default: _false_
+
# Bell
This section documents the *[bell]* table of the configuration file.
@@ -563,7 +569,7 @@ terminal and pipe it to other applications.
Default: _"jfkdls;ahgurieowpq"_
-*enabled* [{ <regex>, <hyperlinks>, <post_processing>, <action>, <command> <binding>, <mouse> },]
+*enabled* [{ <regex>, <hyperlinks>, <post_processing>, <persist>, <action>, <command> <binding>, <mouse> },]
Array with all available hints.
@@ -585,6 +591,10 @@ _action_ or a _command_.
there are characters likely not to be part of the hint (e.g. a trailing
_._). This is most useful for URIs and applies only to _regex_ matches.
+ *persist* <boolean>
+
+ When this is _true_, hints remain persistent after selection.
+
*action* "Copy" | "Paste" | "Select" | "MoveViModeCursor"
*Copy*
@@ -621,6 +631,7 @@ Default: _[{
regex = "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\\u0000-\\u001F\\u007F-\\u009F<>\\"\\\\s{-}\\\\^⟨⟩`]+",++
hyperlinks = true,++
post_processing = true,++
+persist = false,++
mouse = { enabled = true },++
binding = { key = "U", mods = "Control | Shift" },
}]_