aboutsummaryrefslogtreecommitdiff
path: root/src/app/mod.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-04-03 17:33:47 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-04-03 17:33:47 +0300
commite82ae0b32981076ec7360e8d4dd5294a7abc05cf (patch)
treef91cc8eeba8074315482aed84f5bcf6b4b31dbdb /src/app/mod.rs
parent5ed262a43ac7f264a1a7523b6d4507ba4a976604 (diff)
feat: reuse rename modal for new tab naming
Diffstat (limited to 'src/app/mod.rs')
-rw-r--r--src/app/mod.rs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/app/mod.rs b/src/app/mod.rs
index 3b744d02..17fc1b5d 100644
--- a/src/app/mod.rs
+++ b/src/app/mod.rs
@@ -193,6 +193,7 @@ impl App {
request_new_tab: false,
request_complete_onboarding: false,
name_input: String::new(),
+ name_input_replace_on_type: false,
onboarding_step: 0,
onboarding_list: state::SelectionListState::new(1),
release_notes: startup_release_notes.map(|notes| state::ReleaseNotesState {
@@ -1822,8 +1823,23 @@ impl App {
.and_then(|ws_idx| self.seed_cwd_from_workspace(ws_idx))
.or_else(|| std::env::current_dir().ok())
.unwrap_or_else(|| std::path::PathBuf::from("/"));
- if let Err(e) = self.create_tab_with_options(initial_cwd, true) {
- error!(err = %e, "failed to create tab");
+ match self.create_tab_with_options(initial_cwd, true) {
+ Ok(_) => {
+ if let Some(ws) = self
+ .state
+ .active
+ .and_then(|ws_idx| self.state.workspaces.get(ws_idx))
+ {
+ if let Some(name) = ws.active_tab_display_name() {
+ self.state.name_input = name;
+ self.state.name_input_replace_on_type = true;
+ self.state.mode = Mode::RenameTab;
+ }
+ }
+ }
+ Err(e) => {
+ error!(err = %e, "failed to create tab");
+ }
}
}