diff --git a/CodeEdit/Features/Editor/Models/EditorManager.swift b/CodeEdit/Features/Editor/Models/EditorManager.swift index 4e8eae3493..72b5441d2f 100644 --- a/CodeEdit/Features/Editor/Models/EditorManager.swift +++ b/CodeEdit/Features/Editor/Models/EditorManager.swift @@ -101,7 +101,12 @@ class EditorManager: ObservableObject { func switchToActiveEditor() { cancellable?.cancel() cancellable = nil + + // Send the current value immediately so subscribers get the initial state + tabBarTabIdSubject.send(activeEditor.selectedTab) + cancellable = activeEditor.$selectedTab + .dropFirst() // Avoid duplicate emission since we just sent the current value .sink { [weak self] tab in self?.tabBarTabIdSubject.send(tab) } diff --git a/CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorMenuActions.swift b/CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorMenuActions.swift index 1aa65af926..b9d4e18201 100644 --- a/CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorMenuActions.swift +++ b/CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorMenuActions.swift @@ -90,6 +90,7 @@ extension ProjectNavigatorMenu { if let newFile = try workspace?.workspaceFileManager?.addFile(fileName: "untitled", toFile: item) { workspace?.listenerModel.highlightedFileItem = newFile workspace?.editorManager?.openTab(item: newFile) + renameFile() } } catch { let alert = NSAlert(error: error) @@ -147,6 +148,7 @@ extension ProjectNavigatorMenu { do { if let newFolder = try workspace?.workspaceFileManager?.addFolder(folderName: "untitled", toFile: item) { workspace?.listenerModel.highlightedFileItem = newFolder + renameFile() } } catch { let alert = NSAlert(error: error)