diff options
Diffstat (limited to 'src/app/actions.rs')
| -rw-r--r-- | src/app/actions.rs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/app/actions.rs b/src/app/actions.rs index eccc8d4d..e5742534 100644 --- a/src/app/actions.rs +++ b/src/app/actions.rs @@ -5,7 +5,9 @@ use tracing::{info, warn}; use crate::detect::{Agent, AgentState}; use crate::events::AppEvent; -use crate::layout::{find_in_direction, NavDirection, PaneId}; +use crate::layout::PaneId; +#[cfg(test)] +use crate::layout::{find_in_direction, NavDirection}; use crate::selection::Selection; use crate::terminal::{EffectiveStateChange, TerminalStateMutation}; use crate::workspace::WorkspaceGitStatus; @@ -1083,6 +1085,7 @@ impl AppState { .min(crate::ui::mobile_switcher_max_scroll(self)); } + #[cfg(test)] pub fn switch_tab(&mut self, idx: usize) { if let Some(ws_idx) = self.active { let previous_focus = self.current_pane_focus_target(); @@ -1167,6 +1170,7 @@ impl AppState { } } + #[cfg(test)] pub fn next_workspace(&mut self) { if self.workspaces.is_empty() { return; @@ -1178,6 +1182,7 @@ impl AppState { self.switch_workspace(next); } + #[cfg(test)] pub fn previous_workspace(&mut self) { if self.workspaces.is_empty() { return; @@ -1238,6 +1243,7 @@ impl AppState { self.refresh_tab_bar_view(); } + #[cfg(test)] pub fn next_tab(&mut self) { if let Some(ws) = self.active.and_then(|i| self.workspaces.get(i)) { if !ws.tabs.is_empty() { @@ -1247,6 +1253,7 @@ impl AppState { } } + #[cfg(test)] pub fn previous_tab(&mut self) { if let Some(ws) = self.active.and_then(|i| self.workspaces.get(i)) { if !ws.tabs.is_empty() { @@ -1260,14 +1267,17 @@ impl AppState { } } + #[cfg(test)] pub fn next_agent(&mut self) { self.cycle_agent_entry(true); } + #[cfg(test)] pub fn previous_agent(&mut self) { self.cycle_agent_entry(false); } + #[cfg(test)] pub fn focus_agent_entry(&mut self, idx: usize) -> bool { let entries = crate::ui::agent_panel_entries(self); let Some(target) = entries.get(idx) else { @@ -1289,6 +1299,7 @@ impl AppState { false } + #[cfg(test)] fn cycle_agent_entry(&mut self, forward: bool) { let entries = crate::ui::agent_panel_entries(self); if entries.is_empty() { @@ -1536,6 +1547,7 @@ pub(crate) struct PaneZoomOutcome { } impl AppState { + #[cfg(test)] pub fn navigate_pane(&mut self, direction: NavDirection) { let Some(ws_idx) = self.active else { return; @@ -1556,6 +1568,7 @@ impl AppState { } } + #[cfg(test)] pub fn swap_pane(&mut self, direction: NavDirection) -> bool { let Some(ws_idx) = self.active else { return false; @@ -1610,6 +1623,7 @@ impl AppState { } } + #[cfg(test)] pub fn cycle_pane(&mut self, reverse: bool) { let Some(ws_idx) = self.active else { return; @@ -1628,6 +1642,7 @@ impl AppState { } } + #[cfg(test)] pub fn last_pane(&mut self) { let Some(target) = self.previous_pane_focus.clone() else { return; @@ -1708,6 +1723,7 @@ impl AppState { }) } + #[cfg(test)] pub fn toggle_zoom(&mut self) { let Some(ws_idx) = self.active else { return; @@ -1749,6 +1765,7 @@ impl AppState { } } + #[cfg(test)] fn close_focused_pane_would_close_workspace(&self, ws_idx: usize) -> bool { self.workspaces.get(ws_idx).is_some_and(|ws| { let pane_count = ws @@ -1767,6 +1784,7 @@ impl AppState { }) } + #[cfg(test)] /// Close the focused pane. Returns true when the close was deferred to confirmation. pub fn close_pane(&mut self) -> bool { let active = self.active; @@ -1812,6 +1830,7 @@ impl AppState { false } + #[cfg(test)] /// Close the active tab. Returns true when the close was deferred to confirmation. pub fn close_tab(&mut self) -> bool { if self.active.is_some_and(|ws_idx| { |
