aboutsummaryrefslogtreecommitdiff
path: root/src/app/input/navigate.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-11 23:31:36 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-11 23:34:20 +0300
commitfe693f613a23452e68589a4337863f217cc57930 (patch)
tree8d60f6c5b0d8b31426c6623cc8b0c2415d481000 /src/app/input/navigate.rs
parent84c0d003ddb19a8e95e7ad5206771a663913605b (diff)
feat: add optional pane border labels
Diffstat (limited to 'src/app/input/navigate.rs')
-rw-r--r--src/app/input/navigate.rs16
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),