From e298e4589050349630d0faaec00ef11555b83ae1 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Sat, 18 Jul 2026 01:55:46 +0300 Subject: feat: add optional workspace name prompt --- src/app/creation.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/app/creation.rs') diff --git a/src/app/creation.rs b/src/app/creation.rs index 0277ba10..2e978ee9 100644 --- a/src/app/creation.rs +++ b/src/app/creation.rs @@ -76,6 +76,33 @@ impl App { }) } + pub(super) fn begin_tui_workspace_create(&mut self, request_id: &'static str) { + if self.state.prompt_new_workspace_name { + let follow_cwd = self.workspace_creation_source().and_then(|ws_idx| { + self.focused_pane_cwd_in_workspace(ws_idx) + .or_else(|| self.seed_cwd_from_workspace(ws_idx)) + }); + let cwd = self.resolve_new_terminal_cwd(follow_cwd); + super::input::open_new_workspace_dialog(&mut self.state, cwd); + return; + } + + self.runtime_workspace_create( + request_id, + crate::api::schema::WorkspaceCreateParams { + cwd: None, + focus: true, + label: None, + env: Default::default(), + }, + ); + self.state.mode = if self.state.active.is_some() { + Mode::Terminal + } else { + Mode::Navigate + }; + } + /// Create a workspace with a real PTY (needs event_tx). #[cfg(test)] pub(crate) fn create_workspace(&mut self) { -- cgit v1.2.3