aboutsummaryrefslogtreecommitdiff
path: root/src/config
diff options
context:
space:
mode:
authorzhugehyuk <icedac@users.noreply.github.com>2026-05-25 03:28:33 +0900
committerGitHub <noreply@github.com>2026-05-24 21:28:33 +0300
commit43c6ca3a5dbdcefc6c6dc29be9ce81d990baf39e (patch)
tree73be12f81129dab324ea08901c733a6a56ec0e61 /src/config
parent5ce738cf5397d0d8a50ed1aa6335297073cc0f0f (diff)
feat: persist pane history across restarts (#248)
refs #217 Co-authored-by: Can Celik <ogulcancelik@gmail.com>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/model.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/config/model.rs b/src/config/model.rs
index 7db8c2f4..35b08582 100644
--- a/src/config/model.rs
+++ b/src/config/model.rs
@@ -320,6 +320,8 @@ pub struct ExperimentalConfig {
pub allow_nested: bool,
/// Experimental local Kitty graphics rendering for attached clients. Default: false.
pub kitty_graphics: bool,
+ /// Persist pane screen history to session-history.json. Default: false.
+ pub pane_history: bool,
/// Expose the focused pane's cursor anchor to the outer terminal even when
/// the pane requested `?25l`, so macOS native input methods keep tracking
/// the candidate window when TUIs paint their own cursor (Claude Code, pi,
@@ -765,6 +767,19 @@ delivery = "terminal"
}
#[test]
+ fn pane_history_persistence_is_opt_in() {
+ assert!(!Config::default().experimental.pane_history);
+
+ let toml = r#"
+[experimental]
+pane_history = true
+"#;
+ let config: Config = toml::from_str(toml).unwrap();
+
+ assert!(config.experimental.pane_history);
+ }
+
+ #[test]
fn kitty_graphics_default_off_and_parse() {
let config = Config::default();
assert!(!config.experimental.kitty_graphics);
@@ -783,10 +798,12 @@ kitty_graphics = true
[experimental]
allow_nested = true
kitty_graphics = true
+pane_history = true
"#;
let config: Config = toml::from_str(toml).unwrap();
assert!(config.experimental.allow_nested);
assert!(config.experimental.kitty_graphics);
+ assert!(config.experimental.pane_history);
}
#[test]