diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 23:12:50 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 23:12:50 +0300 |
| commit | 7626a9adc84d6757042670f9816a583dcd717823 (patch) | |
| tree | 56095c659834727ca73b03627a1f6eddc86ac666 /src/app/state.rs | |
| parent | 28222b20890a1f6cd36fd477de8e9bc6e5537ff5 (diff) | |
feat: add pane copy mode
refs #231
Diffstat (limited to 'src/app/state.rs')
| -rw-r--r-- | src/app/state.rs | 11 |
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, |
