aboutsummaryrefslogtreecommitdiff
path: root/src/app/state.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 23:12:50 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 23:12:50 +0300
commit7626a9adc84d6757042670f9816a583dcd717823 (patch)
tree56095c659834727ca73b03627a1f6eddc86ac666 /src/app/state.rs
parent28222b20890a1f6cd36fd477de8e9bc6e5537ff5 (diff)
feat: add pane copy mode
refs #231
Diffstat (limited to 'src/app/state.rs')
-rw-r--r--src/app/state.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/app/state.rs b/src/app/state.rs
index 37edc9df..012d79e4 100644
--- a/src/app/state.rs
+++ b/src/app/state.rs
@@ -638,6 +638,7 @@ pub enum Mode {
ProductAnnouncement,
Navigate,
Prefix,
+ Copy,
Terminal,
RenameWorkspace,
RenameTab,
@@ -703,6 +704,14 @@ pub(crate) struct NavigatorState {
pub expanded_workspaces: std::collections::HashSet<String>,
}
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub(crate) struct CopyModeState {
+ pub pane_id: PaneId,
+ pub cursor_row: u16,
+ pub cursor_col: u16,
+ pub selecting: bool,
+}
+
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum AgentPanelScope {
CurrentWorkspace,
@@ -1089,6 +1098,7 @@ pub struct AppState {
pub product_announcement: Option<ProductAnnouncementState>,
pub keybind_help: KeybindHelpState,
pub navigator: NavigatorState,
+ pub copy_mode: Option<CopyModeState>,
pub workspace_scroll: usize,
pub agent_panel_scroll: usize,
pub tab_scroll: usize,
@@ -1390,6 +1400,7 @@ impl AppState {
product_announcement: None,
keybind_help: KeybindHelpState { scroll: 0 },
navigator: NavigatorState::default(),
+ copy_mode: None,
workspace_scroll: 0,
agent_panel_scroll: 0,
tab_scroll: 0,