aboutsummaryrefslogtreecommitdiff
path: root/src/app/api.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/api.rs
parent84c0d003ddb19a8e95e7ad5206771a663913605b (diff)
feat: add optional pane border labels
Diffstat (limited to 'src/app/api.rs')
-rw-r--r--src/app/api.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/app/api.rs b/src/app/api.rs
index c675aa6f..46429ffe 100644
--- a/src/app/api.rs
+++ b/src/app/api.rs
@@ -927,6 +927,48 @@ impl App {
result: ResponseResult::PaneInfo { pane },
}
}
+ Method::PaneRename(params) => {
+ let Some((ws_idx, pane_id)) = self.parse_pane_id(&params.pane_id) else {
+ return serde_json::to_string(&ErrorResponse {
+ id: request.id,
+ error: ErrorBody {
+ code: "pane_not_found".into(),
+ message: format!("pane {} not found", params.pane_id),
+ },
+ })
+ .unwrap();
+ };
+ let Some(ws) = self.state.workspaces.get_mut(ws_idx) else {
+ return serde_json::to_string(&ErrorResponse {
+ id: request.id,
+ error: ErrorBody {
+ code: "pane_not_found".into(),
+ message: format!("pane {} not found", params.pane_id),
+ },
+ })
+ .unwrap();
+ };
+ let Some(pane_state) = ws.pane_state_mut(pane_id) else {
+ return serde_json::to_string(&ErrorResponse {
+ id: request.id,
+ error: ErrorBody {
+ code: "pane_not_found".into(),
+ message: format!("pane {} not found", params.pane_id),
+ },
+ })
+ .unwrap();
+ };
+ match params.label.map(|label| label.trim().to_string()) {
+ Some(label) if !label.is_empty() => pane_state.set_manual_label(label),
+ _ => pane_state.clear_manual_label(),
+ }
+ self.state.mark_session_dirty();
+ let pane = self.pane_info(ws_idx, pane_id).unwrap();
+ SuccessResponse {
+ id: request.id,
+ result: ResponseResult::PaneInfo { pane },
+ }
+ }
Method::PaneRead(params) => {
let Some((ws_idx, pane_id)) = self.parse_pane_id(&params.pane_id) else {
return serde_json::to_string(&ErrorResponse {