diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-11 23:31:36 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-11 23:34:20 +0300 |
| commit | fe693f613a23452e68589a4337863f217cc57930 (patch) | |
| tree | 8d60f6c5b0d8b31426c6623cc8b0c2415d481000 /src/app/input/navigate.rs | |
| parent | 84c0d003ddb19a8e95e7ad5206771a663913605b (diff) | |
feat: add optional pane border labels
Diffstat (limited to 'src/app/input/navigate.rs')
| -rw-r--r-- | src/app/input/navigate.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/app/input/navigate.rs b/src/app/input/navigate.rs index 3bc8da78..bb88c46b 100644 --- a/src/app/input/navigate.rs +++ b/src/app/input/navigate.rs @@ -368,6 +368,7 @@ pub(crate) enum NavigateAction { PreviousTab, NextTab, CloseTab, + RenamePane, FocusPaneLeft, FocusPaneDown, FocusPaneUp, @@ -432,6 +433,12 @@ fn navigate_action_for_key(state: &AppState, key: &KeyEvent) -> Option<NavigateA { return Some(NavigateAction::CloseTab); } + if kb + .rename_pane + .is_some_and(|(code, mods)| key_matches(key, code, mods)) + { + return Some(NavigateAction::RenamePane); + } if key_matches(key, kb.split_vertical.0, kb.split_vertical.1) { return Some(NavigateAction::SplitVertical); } @@ -508,6 +515,15 @@ pub(super) fn execute_navigate_action(state: &mut AppState, action: NavigateActi state.close_tab(); leave_navigate_mode(state); } + NavigateAction::RenamePane => { + if let Some(pane_id) = state + .active + .and_then(|ws_idx| state.workspaces.get(ws_idx)) + .and_then(|ws| ws.focused_pane_id()) + { + super::modal::open_rename_pane(state, pane_id); + } + } NavigateAction::FocusPaneLeft => state.navigate_pane(NavDirection::Left), NavigateAction::FocusPaneDown => state.navigate_pane(NavDirection::Down), NavigateAction::FocusPaneUp => state.navigate_pane(NavDirection::Up), |
