aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/settings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/settings.rs')
-rw-r--r--crates/atuin-client/src/settings.rs32
1 files changed, 29 insertions, 3 deletions
diff --git a/crates/atuin-client/src/settings.rs b/crates/atuin-client/src/settings.rs
index 0497fb64..675fb307 100644
--- a/crates/atuin-client/src/settings.rs
+++ b/crates/atuin-client/src/settings.rs
@@ -338,6 +338,31 @@ pub struct Keys {
}
#[derive(Clone, Debug, Deserialize, Serialize)]
+pub struct Preview {
+ pub strategy: PreviewStrategy,
+}
+
+impl Default for Preview {
+ fn default() -> Self {
+ Self {
+ strategy: PreviewStrategy::Auto,
+ }
+ }
+}
+
+// The preview height strategy also takes max_preview_height into account.
+#[derive(Clone, Debug, Deserialize, Copy, PartialEq, Eq, ValueEnum, Serialize)]
+pub enum PreviewStrategy {
+ // Preview height is calculated for the length of the selected command.
+ #[serde(rename = "auto")]
+ Auto,
+
+ // Preview height is calculated for the length of the longest command stored in the history.
+ #[serde(rename = "static")]
+ Static,
+}
+
+#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Settings {
pub dialect: Dialect,
pub timezone: Timezone,
@@ -358,7 +383,6 @@ pub struct Settings {
pub inline_height: u16,
pub invert: bool,
pub show_preview: bool,
- pub show_preview_auto: bool,
pub max_preview_height: u16,
pub show_help: bool,
pub show_tabs: bool,
@@ -399,6 +423,9 @@ pub struct Settings {
pub keys: Keys,
#[serde(default)]
+ pub preview: Preview,
+
+ #[serde(default)]
pub dotfiles: dotfiles::Settings,
// This is automatically loaded when settings is created. Do not set in
@@ -615,8 +642,7 @@ impl Settings {
.set_default("filter_mode", "global")?
.set_default("style", "auto")?
.set_default("inline_height", 0)?
- .set_default("show_preview", false)?
- .set_default("show_preview_auto", true)?
+ .set_default("show_preview", true)?
.set_default("max_preview_height", 4)?
.set_default("show_help", true)?
.set_default("show_tabs", true)?