Skip to content

Commit 4cd81be

Browse files
LeonardoLarranagaLeonardo Larrañaga
andauthored
Deleting a file in the Workspace UI now closes the tab (#1937)
Co-authored-by: Leonardo Larrañaga <leonardolarranaga@icloud.com>
1 parent adf6fa7 commit 4cd81be

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorMenuActions.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77

88
import AppKit
9+
import SwiftUI
910

1011
extension ProjectNavigatorMenu {
1112
/// - Returns: the currently selected `CEWorkspaceFile` items in the outline view.
@@ -150,6 +151,9 @@ extension ProjectNavigatorMenu {
150151
func trash() {
151152
selectedItems().forEach { item in
152153
workspace?.workspaceFileManager?.trash(file: item)
154+
withAnimation {
155+
sender.editor?.closeTab(file: item)
156+
}
153157
}
154158
reloadData()
155159
}
@@ -165,6 +169,13 @@ extension ProjectNavigatorMenu {
165169
} else {
166170
workspace?.workspaceFileManager?.batchDelete(files: selectedItems)
167171
}
172+
173+
withAnimation {
174+
selectedItems.forEach { item in
175+
sender.editor?.closeTab(file: item)
176+
}
177+
}
178+
168179
reloadData()
169180
}
170181

CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorOutlineView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import Combine
1212
struct ProjectNavigatorOutlineView: NSViewControllerRepresentable {
1313

1414
@EnvironmentObject var workspace: WorkspaceDocument
15+
@EnvironmentObject var editorManager: EditorManager
1516

1617
@StateObject var prefs: Settings = .shared
1718

@@ -21,6 +22,7 @@ struct ProjectNavigatorOutlineView: NSViewControllerRepresentable {
2122
let controller = ProjectNavigatorViewController()
2223
controller.workspace = workspace
2324
controller.iconColor = prefs.preferences.general.fileIconStyle
25+
controller.editor = editorManager.activeEditor
2426
workspace.workspaceFileManager?.addObserver(context.coordinator)
2527

2628
context.coordinator.controller = controller

CodeEdit/Features/NavigatorArea/ProjectNavigator/OutlineView/ProjectNavigatorViewController.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ final class ProjectNavigatorViewController: NSViewController {
3636
var expandedItems: Set<CEWorkspaceFile> = []
3737

3838
weak var workspace: WorkspaceDocument?
39+
weak var editor: Editor?
3940

4041
var iconColor: SettingsData.FileIconStyle = .color {
4142
willSet {

0 commit comments

Comments
 (0)