From e7791457684d43588875d6c528bc82ed07756ae8 Mon Sep 17 00:00:00 2001 From: Abe M Date: Sat, 25 May 2024 01:02:31 -0700 Subject: [PATCH 01/18] Cleaning up code --- .../xcshareddata/swiftpm/Package.resolved | 4 ++-- CodeEdit/CodeEditApp.swift | 3 --- CodeEdit/Features/CodeEditUI/Views/SearchPanel.swift | 2 +- CodeEdit/Features/CodeEditUI/Views/SearchPanelView.swift | 2 +- .../Commands/ViewModels/QuickActionsViewModel.swift | 1 - CodeEdit/Features/Editor/Models/EditorManager.swift | 3 --- CodeEdit/Features/Settings/Models/SettingsSidebarFix.swift | 1 - .../AccountsSettings/AccountsSettingsDetailsView.swift | 7 ------- .../TextEditingSettings/TextEditingSettingsView.swift | 4 ++-- CodeEdit/Features/Settings/SettingsView.swift | 1 - 10 files changed, 6 insertions(+), 22 deletions(-) diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index ce4215548a..7790485dfd 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "3f6921a5ec30d1ecb6d6b205cf27a816c318246bb00f0ea367b997cc66527d32", + "originHash" : "41fcbec1ecbb7853d9ead798bba9d46f35f28767f4d41a009c8eeee022e99a84", "pins" : [ { "identity" : "anycodable", @@ -85,7 +85,7 @@ { "identity" : "logstream", "kind" : "remoteSourceControl", - "location" : "https://github.com/CodeEditApp/LogStream", + "location" : "https://github.com/Wouter01/LogStream", "state" : { "revision" : "6f83694b2675dcf3b1cea0a52546ff4469c18282", "version" : "1.3.0" diff --git a/CodeEdit/CodeEditApp.swift b/CodeEdit/CodeEditApp.swift index 9cc4626d47..dffcd0ea75 100644 --- a/CodeEdit/CodeEditApp.swift +++ b/CodeEdit/CodeEditApp.swift @@ -12,9 +12,6 @@ struct CodeEditApp: App { @NSApplicationDelegateAdaptor var appdelegate: AppDelegate @ObservedObject var settings = Settings.shared - @Environment(\.openWindow) - var openWindow - let updater: SoftwareUpdater = SoftwareUpdater() init() { diff --git a/CodeEdit/Features/CodeEditUI/Views/SearchPanel.swift b/CodeEdit/Features/CodeEditUI/Views/SearchPanel.swift index c2fd34c777..b0b6269d95 100644 --- a/CodeEdit/Features/CodeEditUI/Views/SearchPanel.swift +++ b/CodeEdit/Features/CodeEditUI/Views/SearchPanel.swift @@ -1,5 +1,5 @@ // -// OverlayPanel.swift +// SearchPanel.swift // CodeEditModules/CodeEditUI // // Created by Pavel Kasila on 20.03.22. diff --git a/CodeEdit/Features/CodeEditUI/Views/SearchPanelView.swift b/CodeEdit/Features/CodeEditUI/Views/SearchPanelView.swift index 18b315a4a5..973a849acd 100644 --- a/CodeEdit/Features/CodeEditUI/Views/SearchPanelView.swift +++ b/CodeEdit/Features/CodeEditUI/Views/SearchPanelView.swift @@ -1,5 +1,5 @@ // -// OverlayWindow.swift +// SearchPanelView.swift // CodeEdit // // Created by Khan Winter on 3/17/23. diff --git a/CodeEdit/Features/Commands/ViewModels/QuickActionsViewModel.swift b/CodeEdit/Features/Commands/ViewModels/QuickActionsViewModel.swift index cb18beadb2..ba53c043f5 100644 --- a/CodeEdit/Features/Commands/ViewModels/QuickActionsViewModel.swift +++ b/CodeEdit/Features/Commands/ViewModels/QuickActionsViewModel.swift @@ -34,6 +34,5 @@ final class QuickActionsViewModel: ObservableObject { } self.filteredCommands = CommandManager.shared.commands.filter { $0.title.localizedCaseInsensitiveContains(val) } self.selected = self.filteredCommands.first - } } diff --git a/CodeEdit/Features/Editor/Models/EditorManager.swift b/CodeEdit/Features/Editor/Models/EditorManager.swift index 4330d2e2b2..82751af898 100644 --- a/CodeEdit/Features/Editor/Models/EditorManager.swift +++ b/CodeEdit/Features/Editor/Models/EditorManager.swift @@ -8,7 +8,6 @@ import Combine import Foundation import DequeModule -import OrderedCollections import os class EditorManager: ObservableObject { @@ -30,8 +29,6 @@ class EditorManager: ObservableObject { /// History of last-used editors. var activeEditorHistory: Deque<() -> Editor?> = [] - var fileDocuments: [CEWorkspaceFile: CodeFileDocument] = [:] - /// notify listeners whenever tab selection changes on the active editor. var tabBarTabIdSubject = PassthroughSubject() var cancellable: AnyCancellable? diff --git a/CodeEdit/Features/Settings/Models/SettingsSidebarFix.swift b/CodeEdit/Features/Settings/Models/SettingsSidebarFix.swift index d3076240ec..0fdee510e3 100644 --- a/CodeEdit/Features/Settings/Models/SettingsSidebarFix.swift +++ b/CodeEdit/Features/Settings/Models/SettingsSidebarFix.swift @@ -5,7 +5,6 @@ // Created by Wouter Hennen on 13/04/2023. // -import Foundation import AppKit extension NSSplitViewItem { diff --git a/CodeEdit/Features/Settings/Pages/AccountsSettings/AccountsSettingsDetailsView.swift b/CodeEdit/Features/Settings/Pages/AccountsSettings/AccountsSettingsDetailsView.swift index 0f681eb850..13707d7e24 100644 --- a/CodeEdit/Features/Settings/Pages/AccountsSettings/AccountsSettingsDetailsView.swift +++ b/CodeEdit/Features/Settings/Pages/AccountsSettings/AccountsSettingsDetailsView.swift @@ -30,13 +30,6 @@ struct AccountsSettingsDetailsView: View { /// Default instance of the `FileManager` private let filemanager = FileManager.default - /// The URL of the users ssh folder. Points to `~/.ssh` - internal var sshURL: URL { - filemanager - .homeDirectoryForCurrentUser - .appendingPathComponent(".ssh", isDirectory: true) - } - func isPrivateSSHKey(_ contents: String) -> Bool { if contents.starts(with: "-----BEGIN OPENSSH PRIVATE KEY-----\n") && contents.hasSuffix("\n-----END OPENSSH PRIVATE KEY-----\n") { diff --git a/CodeEdit/Features/Settings/Pages/TextEditingSettings/TextEditingSettingsView.swift b/CodeEdit/Features/Settings/Pages/TextEditingSettings/TextEditingSettingsView.swift index fc9b377fa4..6a03008a48 100644 --- a/CodeEdit/Features/Settings/Pages/TextEditingSettings/TextEditingSettingsView.swift +++ b/CodeEdit/Features/Settings/Pages/TextEditingSettings/TextEditingSettingsView.swift @@ -152,8 +152,8 @@ private extension TextEditingSettingsView { ) .foregroundColor( textEditing.bracketHighlight.useCustomColor - ? Color(NSColor.labelColor) - : Color(NSColor.secondaryLabelColor) + ? Color(.labelColor) + : Color(.secondaryLabelColor) ) .disabled(!textEditing.bracketHighlight.useCustomColor) } diff --git a/CodeEdit/Features/Settings/SettingsView.swift b/CodeEdit/Features/Settings/SettingsView.swift index 8bc583efd6..3b73f678ac 100644 --- a/CodeEdit/Features/Settings/SettingsView.swift +++ b/CodeEdit/Features/Settings/SettingsView.swift @@ -6,7 +6,6 @@ // import SwiftUI -import CodeEditSymbols /// A struct for settings struct SettingsView: View { From 6f7fc7a2c4082f2a2a7c4e538b05c841ded17b05 Mon Sep 17 00:00:00 2001 From: Abe M Date: Sun, 26 May 2024 03:29:28 -0700 Subject: [PATCH 02/18] Removed unnecessary line --- CodeEdit/Features/Settings/SettingsView.swift | 3 --- 1 file changed, 3 deletions(-) diff --git a/CodeEdit/Features/Settings/SettingsView.swift b/CodeEdit/Features/Settings/SettingsView.swift index 3b73f678ac..9674a301fc 100644 --- a/CodeEdit/Features/Settings/SettingsView.swift +++ b/CodeEdit/Features/Settings/SettingsView.swift @@ -188,9 +188,6 @@ struct SettingsView: View { } } .environmentObject(model) - .onAppear { - selectedPage = Self.pages[0].page - } } } From f52d8b44759a307aa9743d86dddd6a21106a274f Mon Sep 17 00:00:00 2001 From: Abe Date: Sun, 26 May 2024 10:52:31 -0700 Subject: [PATCH 03/18] Update SettingsView.swift --- CodeEdit/Features/Settings/SettingsView.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/CodeEdit/Features/Settings/SettingsView.swift b/CodeEdit/Features/Settings/SettingsView.swift index fc24fe2d23..ab5d25ff28 100644 --- a/CodeEdit/Features/Settings/SettingsView.swift +++ b/CodeEdit/Features/Settings/SettingsView.swift @@ -203,8 +203,6 @@ struct SettingsView: View { } .environmentObject(model) .onAppear { - selectedPage = Self.pages[0].page - // Monitor for the F12 key down event to toggle the developer settings model.setKeyDownMonitor { event in if event.keyCode == 111 { From ad3ac739ea27b7cf781b29fb5168721e0cd59bc3 Mon Sep 17 00:00:00 2001 From: Abe Date: Sun, 26 May 2024 10:54:48 -0700 Subject: [PATCH 04/18] Update Package.resolved --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 7790485dfd..4a141be490 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -85,7 +85,7 @@ { "identity" : "logstream", "kind" : "remoteSourceControl", - "location" : "https://github.com/Wouter01/LogStream", + "location" : "https://github.com/CodeEditApp/LogStream", "state" : { "revision" : "6f83694b2675dcf3b1cea0a52546ff4469c18282", "version" : "1.3.0" From d0dd45bd92465ebbabdd3d7674900556fa472814 Mon Sep 17 00:00:00 2001 From: Abe M Date: Fri, 31 May 2024 14:28:27 -0700 Subject: [PATCH 05/18] Remove commented line --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- CodeEdit/Features/CodeEditUI/Views/KeyValueTable.swift | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 4a141be490..7790485dfd 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -85,7 +85,7 @@ { "identity" : "logstream", "kind" : "remoteSourceControl", - "location" : "https://github.com/CodeEditApp/LogStream", + "location" : "https://github.com/Wouter01/LogStream", "state" : { "revision" : "6f83694b2675dcf3b1cea0a52546ff4469c18282", "version" : "1.3.0" diff --git a/CodeEdit/Features/CodeEditUI/Views/KeyValueTable.swift b/CodeEdit/Features/CodeEditUI/Views/KeyValueTable.swift index 46ce8d3bce..cba0926358 100644 --- a/CodeEdit/Features/CodeEditUI/Views/KeyValueTable.swift +++ b/CodeEdit/Features/CodeEditUI/Views/KeyValueTable.swift @@ -75,7 +75,6 @@ private struct NewListTableItemView: View { .disabled(key.isEmpty || value.isEmpty) } .padding(.horizontal, 20) -// .padding(.top, 2) .padding(.bottom, 20) } .frame(maxWidth: 480) From 4cfda946810f65a510f9072d051212ae3772fcf3 Mon Sep 17 00:00:00 2001 From: Abe M Date: Fri, 31 May 2024 16:48:58 -0700 Subject: [PATCH 06/18] Optimize .map --- CodeEdit/AppDelegate.swift | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/CodeEdit/AppDelegate.swift b/CodeEdit/AppDelegate.swift index eebf250e73..9eac3342a8 100644 --- a/CodeEdit/AppDelegate.swift +++ b/CodeEdit/AppDelegate.swift @@ -117,11 +117,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, ObservableObject { func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply { let projects: [String] = CodeEditDocumentController.shared.documents - .map { doc in - (doc as? WorkspaceDocument)?.fileURL?.path - } - .filter { $0 != nil } - .map { $0! } + .compactMap { ($0 as? WorkspaceDocument)?.fileURL?.path } UserDefaults.standard.set(projects, forKey: AppDelegate.recoverWorkspacesKey) From e9e0a338f9a821ba7c4076856865472b7a8aa8d3 Mon Sep 17 00:00:00 2001 From: Abe M Date: Sat, 1 Jun 2024 17:00:07 -0700 Subject: [PATCH 07/18] Naming fixes --- CodeEdit/Features/CodeEditUI/Views/EffectView.swift | 2 +- CodeEdit/Features/Settings/Models/Settings.swift | 2 +- CodeEdit/Features/Welcome/Views/RecentProjectItem.swift | 2 +- CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CodeEdit/Features/CodeEditUI/Views/EffectView.swift b/CodeEdit/Features/CodeEditUI/Views/EffectView.swift index 16389ee2c7..f9a1e6eb04 100644 --- a/CodeEdit/Features/CodeEditUI/Views/EffectView.swift +++ b/CodeEdit/Features/CodeEditUI/Views/EffectView.swift @@ -1,5 +1,5 @@ // -// BlurView.swift +// EffectView.swift // CodeEditModules/CodeEditUI // // Created by Rehatbir Singh on 15/03/2022. diff --git a/CodeEdit/Features/Settings/Models/Settings.swift b/CodeEdit/Features/Settings/Models/Settings.swift index 375687ca26..4953d1e0da 100644 --- a/CodeEdit/Features/Settings/Models/Settings.swift +++ b/CodeEdit/Features/Settings/Models/Settings.swift @@ -1,5 +1,5 @@ // -// SettingsModel.swift +// Settings.swift // CodeEditModules/Settings // // Created by Lukas Pistrol on 01.04.22. diff --git a/CodeEdit/Features/Welcome/Views/RecentProjectItem.swift b/CodeEdit/Features/Welcome/Views/RecentProjectItem.swift index 73b6508fa2..f0a0ab71ac 100644 --- a/CodeEdit/Features/Welcome/Views/RecentProjectItem.swift +++ b/CodeEdit/Features/Welcome/Views/RecentProjectItem.swift @@ -1,5 +1,5 @@ // -// RecentProjectView.swift +// RecentProjectItem.swift // CodeEditModules/WelcomeModule // // Created by Ziyuan Zhao on 2022/3/18. diff --git a/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift b/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift index 0350a7fd33..9e3820fb87 100644 --- a/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift +++ b/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift @@ -1,5 +1,5 @@ // -// RecentProjectsList.swift +// RecentProjectsListView.swift // CodeEdit // // Created by Wouter Hennen on 02/02/2023. From 3ea98488fd5d2a7048d9c9bab66993d748ac0630 Mon Sep 17 00:00:00 2001 From: Abe M Date: Sun, 2 Jun 2024 15:15:05 -0700 Subject: [PATCH 08/18] Move Acknowledgements and Contributors folder under the About folder --- CodeEdit.xcodeproj/project.pbxproj | 4 ++-- .../ViewModels/AcknowledgementsViewModel.swift | 0 .../Acknowledgements/Views/AcknowledgementRowView.swift | 0 .../Acknowledgements/Views/AcknowledgementsView.swift | 0 .../Views/AcknowledgementsWindowController.swift | 0 .../Acknowledgements/Views/ParsePackagesResolved.swift | 0 .../{ => About}/Contributors/ContributorRowView.swift | 0 .../Features/{ => About}/Contributors/ContributorsView.swift | 0 .../Features/{ => About}/Contributors/Model/Contributor.swift | 0 9 files changed, 2 insertions(+), 2 deletions(-) rename CodeEdit/Features/{ => About}/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift (100%) rename CodeEdit/Features/{ => About}/Acknowledgements/Views/AcknowledgementRowView.swift (100%) rename CodeEdit/Features/{ => About}/Acknowledgements/Views/AcknowledgementsView.swift (100%) rename CodeEdit/Features/{ => About}/Acknowledgements/Views/AcknowledgementsWindowController.swift (100%) rename CodeEdit/Features/{ => About}/Acknowledgements/Views/ParsePackagesResolved.swift (100%) rename CodeEdit/Features/{ => About}/Contributors/ContributorRowView.swift (100%) rename CodeEdit/Features/{ => About}/Contributors/ContributorsView.swift (100%) rename CodeEdit/Features/{ => About}/Contributors/Model/Contributor.swift (100%) diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index f8001c5dad..fbf7484b12 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -1414,6 +1414,8 @@ 582213EE2918345500EFE361 /* About */ = { isa = PBXGroup; children = ( + 5878DA7D291862BC00DD95A3 /* Acknowledgements */, + 284DC84B2978B5EB00BF2770 /* Contributors */, 582213F1291834E500EFE361 /* Views */, ); path = About; @@ -1435,11 +1437,9 @@ isa = PBXGroup; children = ( 582213EE2918345500EFE361 /* About */, - 5878DA7D291862BC00DD95A3 /* Acknowledgements */, 588847642992A30900996D95 /* CEWorkspace */, 587B9D7529300ABD00AC7927 /* CodeEditUI */, 58FD7603291EA1CB0051D6E4 /* Commands */, - 284DC84B2978B5EB00BF2770 /* Contributors */, 043C321227E31FE8006AE443 /* Documents */, 6C147C3C29A328020089B630 /* Editor */, 6C6BD6ED29CD123000235D17 /* Extensions */, diff --git a/CodeEdit/Features/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift b/CodeEdit/Features/About/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift similarity index 100% rename from CodeEdit/Features/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift rename to CodeEdit/Features/About/Acknowledgements/ViewModels/AcknowledgementsViewModel.swift diff --git a/CodeEdit/Features/Acknowledgements/Views/AcknowledgementRowView.swift b/CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementRowView.swift similarity index 100% rename from CodeEdit/Features/Acknowledgements/Views/AcknowledgementRowView.swift rename to CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementRowView.swift diff --git a/CodeEdit/Features/Acknowledgements/Views/AcknowledgementsView.swift b/CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementsView.swift similarity index 100% rename from CodeEdit/Features/Acknowledgements/Views/AcknowledgementsView.swift rename to CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementsView.swift diff --git a/CodeEdit/Features/Acknowledgements/Views/AcknowledgementsWindowController.swift b/CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementsWindowController.swift similarity index 100% rename from CodeEdit/Features/Acknowledgements/Views/AcknowledgementsWindowController.swift rename to CodeEdit/Features/About/Acknowledgements/Views/AcknowledgementsWindowController.swift diff --git a/CodeEdit/Features/Acknowledgements/Views/ParsePackagesResolved.swift b/CodeEdit/Features/About/Acknowledgements/Views/ParsePackagesResolved.swift similarity index 100% rename from CodeEdit/Features/Acknowledgements/Views/ParsePackagesResolved.swift rename to CodeEdit/Features/About/Acknowledgements/Views/ParsePackagesResolved.swift diff --git a/CodeEdit/Features/Contributors/ContributorRowView.swift b/CodeEdit/Features/About/Contributors/ContributorRowView.swift similarity index 100% rename from CodeEdit/Features/Contributors/ContributorRowView.swift rename to CodeEdit/Features/About/Contributors/ContributorRowView.swift diff --git a/CodeEdit/Features/Contributors/ContributorsView.swift b/CodeEdit/Features/About/Contributors/ContributorsView.swift similarity index 100% rename from CodeEdit/Features/Contributors/ContributorsView.swift rename to CodeEdit/Features/About/Contributors/ContributorsView.swift diff --git a/CodeEdit/Features/Contributors/Model/Contributor.swift b/CodeEdit/Features/About/Contributors/Model/Contributor.swift similarity index 100% rename from CodeEdit/Features/Contributors/Model/Contributor.swift rename to CodeEdit/Features/About/Contributors/Model/Contributor.swift From 94c197eeedf426a72255a592326dee4483332c3a Mon Sep 17 00:00:00 2001 From: Abe M Date: Mon, 10 Jun 2024 18:59:33 -0700 Subject: [PATCH 09/18] Fix comment --- .../Pages/AccountsSettings/Models/AccountsSettings.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeEdit/Features/Settings/Pages/AccountsSettings/Models/AccountsSettings.swift b/CodeEdit/Features/Settings/Pages/AccountsSettings/Models/AccountsSettings.swift index d565d9d84a..ef8922187a 100644 --- a/CodeEdit/Features/Settings/Pages/AccountsSettings/Models/AccountsSettings.swift +++ b/CodeEdit/Features/Settings/Pages/AccountsSettings/Models/AccountsSettings.swift @@ -9,7 +9,7 @@ import Foundation extension SettingsData { - /// The global settings for text editing + /// The global settings for source control accounts struct AccountsSettings: Codable, Hashable, SearchableSettingsPage { /// The list of git accounts the user has saved var sourceControlAccounts: GitAccounts = .init() From 2badba4171e0e8fc1ecb3304c87c13f68927b2cf Mon Sep 17 00:00:00 2001 From: Matthijs Eikelenboom Date: Sat, 1 Jun 2024 15:18:00 +0200 Subject: [PATCH 10/18] Updated fileManager variable to a normal variable instead of a computed one --- .../Documents/Controllers/CodeEditDocumentController.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CodeEdit/Features/Documents/Controllers/CodeEditDocumentController.swift b/CodeEdit/Features/Documents/Controllers/CodeEditDocumentController.swift index c258b90b22..a90db1e38a 100644 --- a/CodeEdit/Features/Documents/Controllers/CodeEditDocumentController.swift +++ b/CodeEdit/Features/Documents/Controllers/CodeEditDocumentController.swift @@ -12,9 +12,7 @@ final class CodeEditDocumentController: NSDocumentController { @Environment(\.openWindow) private var openWindow - lazy var fileManager: FileManager = { - FileManager.default - }() + private let fileManager = FileManager.default override func newDocument(_ sender: Any?) { guard let newDocumentUrl = self.newDocumentUrl else { return } From 10357901e7931c60986ebf6713f8b8ac57ac420a Mon Sep 17 00:00:00 2001 From: Matthijs Eikelenboom Date: Mon, 10 Jun 2024 21:49:06 +0200 Subject: [PATCH 11/18] Rearranged files in the Git folder --- CodeEdit.xcodeproj/project.pbxproj | 82 +++++++++---------- .../xcshareddata/swiftpm/Package.resolved | 16 ++-- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index fbf7484b12..5ccb123bb1 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -461,7 +461,6 @@ B67DB0F92AFDF638002DC647 /* IconButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67DB0F82AFDF638002DC647 /* IconButtonStyle.swift */; }; B67DB0FC2AFDF71F002DC647 /* IconToggleStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B67DB0FB2AFDF71F002DC647 /* IconToggleStyle.swift */; }; B685DE7929CC9CCD002860C8 /* StatusBarIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = B685DE7829CC9CCD002860C8 /* StatusBarIcon.swift */; }; - B68C7C212A01DEFE004EA6D6 /* GitHubComment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B68C7C202A01DEFE004EA6D6 /* GitHubComment.swift */; }; B697937A29FF5668002027EC /* AccountsSettingsAccountLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = B697937929FF5668002027EC /* AccountsSettingsAccountLink.swift */; }; B69BFDC72B0686910050D9A6 /* GitClient+Initiate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B69BFDC62B0686910050D9A6 /* GitClient+Initiate.swift */; }; B6A43C5D29FC4AF00027E0E0 /* CreateSSHKeyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6A43C5C29FC4AF00027E0E0 /* CreateSSHKeyView.swift */; }; @@ -1022,7 +1021,6 @@ B67DB0F82AFDF638002DC647 /* IconButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconButtonStyle.swift; sourceTree = ""; }; B67DB0FB2AFDF71F002DC647 /* IconToggleStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconToggleStyle.swift; sourceTree = ""; }; B685DE7829CC9CCD002860C8 /* StatusBarIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarIcon.swift; sourceTree = ""; }; - B68C7C202A01DEFE004EA6D6 /* GitHubComment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitHubComment.swift; sourceTree = ""; }; B697937929FF5668002027EC /* AccountsSettingsAccountLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountsSettingsAccountLink.swift; sourceTree = ""; }; B69BFDC62B0686910050D9A6 /* GitClient+Initiate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GitClient+Initiate.swift"; sourceTree = ""; }; B6A43C5C29FC4AF00027E0E0 /* CreateSSHKeyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateSSHKeyView.swift; sourceTree = ""; }; @@ -1828,8 +1826,8 @@ isa = PBXGroup; children = ( 04BA7C102AE2AA7300584E1C /* ViewModels */, - 587B9E0729301D8F00AC7927 /* GitCloneView.swift */, 587B9E0829301D8F00AC7927 /* GitCheckoutBranchView.swift */, + 587B9E0729301D8F00AC7927 /* GitCloneView.swift */, ); path = Clone; sourceTree = ""; @@ -1852,9 +1850,9 @@ children = ( 587B9E1429301D8F00AC7927 /* Model */, 587B9E0C29301D8F00AC7927 /* Routers */, - 587B9E1129301D8F00AC7927 /* GitLabOAuthConfiguration.swift */, - 587B9E1229301D8F00AC7927 /* GitLabConfiguration.swift */, 587B9E1329301D8F00AC7927 /* GitLabAccount.swift */, + 587B9E1229301D8F00AC7927 /* GitLabConfiguration.swift */, + 587B9E1129301D8F00AC7927 /* GitLabOAuthConfiguration.swift */, ); path = GitLab; sourceTree = ""; @@ -1862,10 +1860,10 @@ 587B9E0C29301D8F00AC7927 /* Routers */ = { isa = PBXGroup; children = ( - 587B9E0D29301D8F00AC7927 /* GitLabUserRouter.swift */, 587B9E0E29301D8F00AC7927 /* GitLabCommitRouter.swift */, - 587B9E0F29301D8F00AC7927 /* GitLabProjectRouter.swift */, 587B9E1029301D8F00AC7927 /* GitLabOAuthRouter.swift */, + 587B9E0F29301D8F00AC7927 /* GitLabProjectRouter.swift */, + 587B9E0D29301D8F00AC7927 /* GitLabUserRouter.swift */, ); path = Routers; sourceTree = ""; @@ -1873,18 +1871,18 @@ 587B9E1429301D8F00AC7927 /* Model */ = { isa = PBXGroup; children = ( - 587B9E1529301D8F00AC7927 /* GitLabCommit.swift */, - 587B9E1629301D8F00AC7927 /* GitLabGroupAccess.swift */, - 587B9E1729301D8F00AC7927 /* GitLabProjectHook.swift */, - 587B9E1829301D8F00AC7927 /* GitLabEventData.swift */, 587B9E1929301D8F00AC7927 /* GitLabAccountModel.swift */, - 587B9E1A29301D8F00AC7927 /* GitLabEvent.swift */, - 587B9E1B29301D8F00AC7927 /* GitLabPermissions.swift */, 587B9E1C29301D8F00AC7927 /* GitLabAvatarURL.swift */, - 587B9E1D29301D8F00AC7927 /* GitLabNamespace.swift */, + 587B9E1529301D8F00AC7927 /* GitLabCommit.swift */, + 587B9E1A29301D8F00AC7927 /* GitLabEvent.swift */, + 587B9E1829301D8F00AC7927 /* GitLabEventData.swift */, 587B9E1E29301D8F00AC7927 /* GitLabEventNote.swift */, + 587B9E1629301D8F00AC7927 /* GitLabGroupAccess.swift */, + 587B9E1D29301D8F00AC7927 /* GitLabNamespace.swift */, + 587B9E1B29301D8F00AC7927 /* GitLabPermissions.swift */, 587B9E1F29301D8F00AC7927 /* GitLabProject.swift */, 587B9E2029301D8F00AC7927 /* GitLabProjectAccess.swift */, + 587B9E1729301D8F00AC7927 /* GitLabProjectHook.swift */, 587B9E2129301D8F00AC7927 /* GitLabUser.swift */, ); path = Model; @@ -1893,9 +1891,9 @@ 587B9E2229301D8F00AC7927 /* Networking */ = { isa = PBXGroup; children = ( - 587B9E2329301D8F00AC7927 /* GitURLSession.swift */, 587B9E2429301D8F00AC7927 /* GitJSONPostRouter.swift */, 587B9E2529301D8F00AC7927 /* GitRouter.swift */, + 587B9E2329301D8F00AC7927 /* GitURLSession.swift */, ); path = Networking; sourceTree = ""; @@ -1903,10 +1901,10 @@ 587B9E2629301D8F00AC7927 /* Utils */ = { isa = PBXGroup; children = ( - 587B9E2729301D8F00AC7927 /* URL+URLParameters.swift */, - 587B9E2829301D8F00AC7927 /* String+QueryParameters.swift */, 587B9E2929301D8F00AC7927 /* GitTime.swift */, 587B9E2A29301D8F00AC7927 /* String+PercentEncoding.swift */, + 587B9E2829301D8F00AC7927 /* String+QueryParameters.swift */, + 587B9E2729301D8F00AC7927 /* URL+URLParameters.swift */, ); path = Utils; sourceTree = ""; @@ -1916,11 +1914,11 @@ children = ( 587B9E3829301D8F00AC7927 /* Model */, 587B9E2D29301D8F00AC7927 /* Routers */, + 587B9E4329301D8F00AC7927 /* GitHubAccount.swift */, 587B9E3529301D8F00AC7927 /* GitHubConfiguration.swift */, - 587B9E3629301D8F00AC7927 /* PublicKey.swift */, - 587B9E3729301D8F00AC7927 /* GitHubPreviewHeader.swift */, 587B9E4229301D8F00AC7927 /* GitHubOpenness.swift */, - 587B9E4329301D8F00AC7927 /* GitHubAccount.swift */, + 587B9E3729301D8F00AC7927 /* GitHubPreviewHeader.swift */, + 587B9E3629301D8F00AC7927 /* PublicKey.swift */, ); path = GitHub; sourceTree = ""; @@ -1928,12 +1926,12 @@ 587B9E2D29301D8F00AC7927 /* Routers */ = { isa = PBXGroup; children = ( + 587B9E3329301D8F00AC7927 /* GitHubGistRouter.swift */, 587B9E2E29301D8F00AC7927 /* GitHubIssueRouter.swift */, + 587B9E3229301D8F00AC7927 /* GitHubPullRequestRouter.swift */, + 587B9E3129301D8F00AC7927 /* GitHubRepositoryRouter.swift */, 587B9E2F29301D8F00AC7927 /* GitHubReviewsRouter.swift */, 587B9E3029301D8F00AC7927 /* GitHubRouter.swift */, - 587B9E3129301D8F00AC7927 /* GitHubRepositoryRouter.swift */, - 587B9E3229301D8F00AC7927 /* GitHubPullRequestRouter.swift */, - 587B9E3329301D8F00AC7927 /* GitHubGistRouter.swift */, 587B9E3429301D8F00AC7927 /* GitHubUserRouter.swift */, ); path = Routers; @@ -1942,16 +1940,15 @@ 587B9E3829301D8F00AC7927 /* Model */ = { isa = PBXGroup; children = ( - 587B9E3929301D8F00AC7927 /* GitHubPullRequest.swift */, - 587B9E3A29301D8F00AC7927 /* GitHubUser.swift */, - 587B9E3B29301D8F00AC7927 /* GitHubReview.swift */, + 587B9E4129301D8F00AC7927 /* GitHubAccount+deleteReference.swift */, 587B9E3C29301D8F00AC7927 /* GitHubComment.swift */, - 587B9E3D29301D8F00AC7927 /* GitHubRepositories.swift */, 587B9E3E29301D8F00AC7927 /* GitHubFiles.swift */, 587B9E3F29301D8F00AC7927 /* GitHubGist.swift */, 587B9E4029301D8F00AC7927 /* GitHubIssue.swift */, - 587B9E4129301D8F00AC7927 /* GitHubAccount+deleteReference.swift */, - B68C7C202A01DEFE004EA6D6 /* GitHubComment.swift */, + 587B9E3929301D8F00AC7927 /* GitHubPullRequest.swift */, + 587B9E3D29301D8F00AC7927 /* GitHubRepositories.swift */, + 587B9E3B29301D8F00AC7927 /* GitHubReview.swift */, + 587B9E3A29301D8F00AC7927 /* GitHubUser.swift */, ); path = Model; sourceTree = ""; @@ -1962,9 +1959,9 @@ 587B9E4D29301D8F00AC7927 /* Model */, 587B9E4529301D8F00AC7927 /* Routers */, 587B9E4A29301D8F00AC7927 /* BitBucketAccount.swift */, + 587B9E5029301D8F00AC7927 /* BitBucketAccount+Token.swift */, 587B9E4B29301D8F00AC7927 /* BitBucketOAuthConfiguration.swift */, 587B9E4C29301D8F00AC7927 /* BitBucketTokenConfiguration.swift */, - 587B9E5029301D8F00AC7927 /* BitBucketAccount+Token.swift */, ); path = Bitbucket; sourceTree = ""; @@ -1972,10 +1969,10 @@ 587B9E4529301D8F00AC7927 /* Routers */ = { isa = PBXGroup; children = ( + 587B9E4929301D8F00AC7927 /* BitBucketOAuthRouter.swift */, 587B9E4629301D8F00AC7927 /* BitBucketRepositoryRouter.swift */, - 587B9E4729301D8F00AC7927 /* BitBucketUserRouter.swift */, 587B9E4829301D8F00AC7927 /* BitBucketTokenRouter.swift */, - 587B9E4929301D8F00AC7927 /* BitBucketOAuthRouter.swift */, + 587B9E4729301D8F00AC7927 /* BitBucketUserRouter.swift */, ); path = Routers; sourceTree = ""; @@ -1983,8 +1980,8 @@ 587B9E4D29301D8F00AC7927 /* Model */ = { isa = PBXGroup; children = ( - 587B9E4E29301D8F00AC7927 /* BitBucketUser.swift */, 587B9E4F29301D8F00AC7927 /* BitBucketRepositories.swift */, + 587B9E4E29301D8F00AC7927 /* BitBucketUser.swift */, ); path = Model; sourceTree = ""; @@ -1995,16 +1992,16 @@ 587B9E5229301D8F00AC7927 /* Models */, 58A5DF7F29325B5A00D1BD5D /* GitClient.swift */, 04BA7C182AE2D7C600584E1C /* GitClient+Branches.swift */, - 04BA7C1B2AE2D84100584E1C /* GitClient+Commit.swift */, 04BA7C1D2AE2D8A000584E1C /* GitClient+Clone.swift */, - B69BFDC62B0686910050D9A6 /* GitClient+Initiate.swift */, - 04BA7C1F2AE2D92B00584E1C /* GitClient+Status.swift */, + 04BA7C1B2AE2D84100584E1C /* GitClient+Commit.swift */, 04BA7C212AE2D95E00584E1C /* GitClient+CommitHistory.swift */, + B65B11032B09DB1C002852CF /* GitClient+Fetch.swift */, + B69BFDC62B0686910050D9A6 /* GitClient+Initiate.swift */, + B65B10EE2B07C454002852CF /* GitClient+Remote.swift */, B65B11002B09D5D4002852CF /* GitClient+Pull.swift */, 04BA7C262AE2E9F100584E1C /* GitClient+Push.swift */, - B65B10EE2B07C454002852CF /* GitClient+Remote.swift */, - B65B11032B09DB1C002852CF /* GitClient+Fetch.swift */, B607181C2B0C5BE3009CDAB4 /* GitClient+Stash.swift */, + 04BA7C1F2AE2D92B00584E1C /* GitClient+Status.swift */, B628B7922B18369800F9775A /* GitClient+Validate.swift */, ); path = Client; @@ -2013,13 +2010,13 @@ 587B9E5229301D8F00AC7927 /* Models */ = { isa = PBXGroup; children = ( - 587B9E5329301D8F00AC7927 /* GitCommit.swift */, - 587B9E5429301D8F00AC7927 /* GitChangedFile.swift */, - 587B9E5529301D8F00AC7927 /* GitType.swift */, 04BA7C0A2AE2A2D100584E1C /* GitBranch.swift */, + 9D36E1BE2B5E7D7500443C41 /* GitBranchesGroup.swift */, + 587B9E5429301D8F00AC7927 /* GitChangedFile.swift */, + 587B9E5329301D8F00AC7927 /* GitCommit.swift */, B65B10F12B07D34F002852CF /* GitRemote.swift */, B607181F2B0C6CE7009CDAB4 /* GitStashEntry.swift */, - 9D36E1BE2B5E7D7500443C41 /* GitBranchesGroup.swift */, + 587B9E5529301D8F00AC7927 /* GitType.swift */, ); path = Models; sourceTree = ""; @@ -3653,7 +3650,6 @@ B6A43C5D29FC4AF00027E0E0 /* CreateSSHKeyView.swift in Sources */, B6EA200229DB7F81001BF195 /* View+ConstrainHeightToWindow.swift in Sources */, 66F370342BEE537B00D3B823 /* NonTextFileView.swift in Sources */, - B68C7C212A01DEFE004EA6D6 /* GitHubComment.swift in Sources */, 613899B72B6E702F00A5CAF6 /* String+LengthOfMatchingPrefix.swift in Sources */, 6C48D8F42972DB1A00D6D205 /* Env+Window.swift in Sources */, 6C5FDF7A29E6160000BC08C0 /* AppSettings.swift in Sources */, diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 7790485dfd..b26b7a06e5 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -24,8 +24,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/CodeEditApp/CodeEditLanguages.git", "state" : { - "revision" : "620b463c88894741e20d4711c9435b33547de5d2", - "version" : "0.1.18" + "revision" : "5b27f139269e1ea49ceae5e56dca44a3ccad50a1", + "version" : "0.1.19" } }, { @@ -33,8 +33,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/CodeEditApp/CodeEditSourceEditor", "state" : { - "revision" : "7360f00bf7ec8e93b4833357bd254bef7e5c943d", - "version" : "0.7.2" + "revision" : "cf85789d527d569e94edfd674c5ac8071b244dd9", + "version" : "0.7.3" } }, { @@ -51,8 +51,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/CodeEditApp/CodeEditTextView.git", "state" : { - "revision" : "86b980464bcb67693e2053283c7a99bdc6f358bc", - "version" : "0.7.3" + "revision" : "80911be6bcdae5e35ef5ed351adf6dda9b57e555", + "version" : "0.7.4" } }, { @@ -150,8 +150,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/lukepistrol/SwiftLintPlugin", "state" : { - "revision" : "ea6d3ca895b49910f790e98e4b4ca658e0fe490e", - "version" : "0.54.0" + "revision" : "a0f7b12c7be228592d924f29f654ebbd924ac9c5", + "version" : "0.55.1" } }, { From ed943f78b037cbb9c89a704a8202d26653352fc2 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:20:42 -0500 Subject: [PATCH 12/18] Fix All Warnings, Use Non-Optional String --- .swiftlint.yml | 2 +- CodeEdit.xcodeproj/project.pbxproj | 43 +++++++++++-------- .../xcshareddata/swiftpm/Package.resolved | 4 +- .../xcshareddata/xcschemes/CodeEdit.xcscheme | 2 +- .../Views/SegmentedControlImproved.swift | 2 +- .../Features/Documents/CodeFileDocument.swift | 2 +- .../Features/Documents/LazyStringLoader.swift | 17 +++----- .../Documents/WorkspaceDocument+Find.swift | 4 +- .../Documents/WorkspaceDocument.swift | 2 +- .../Extensions/ExtensionSceneView.swift | 13 +++--- .../Accounts/GitHub/GitHubConfiguration.swift | 3 +- .../Networking/GitJSONPostRouter.swift | 15 +++---- .../QuickOpen/Views/NSTableViewWrapper.swift | 4 +- CodeEdit/Features/Settings/SettingsView.swift | 5 +-- .../Views/TerminalEmulatorView.swift | 2 +- .../Utils/KeyChain/CodeEditKeychain.swift | 3 +- .../ShellClient/Models/ShellClient.swift | 17 +++----- .../CEWorkspaceFileManagerTests.swift | 8 ++-- OpenWithCodeEdit/Info.plist | 2 +- 19 files changed, 71 insertions(+), 79 deletions(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 22f7378f67..53d1b59411 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -15,7 +15,7 @@ identifier_name: # paths to ignore during linting. excluded: - CodeEditModules/.build # Where Swift Package Manager checks out dependency sources - - DerivedData + - DerivedData opt_in_rules: - attributes diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index 20e92019e5..2afbf9f230 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -301,7 +301,6 @@ 6C092EDA2A53A58600489202 /* EditorLayout+StateRestoration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C092ED92A53A58600489202 /* EditorLayout+StateRestoration.swift */; }; 6C092EE02A53BFCF00489202 /* WorkspaceStateKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C092EDF2A53BFCF00489202 /* WorkspaceStateKey.swift */; }; 6C0D0C6829E861B000AE4D3F /* SettingsSidebarFix.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C0D0C6729E861B000AE4D3F /* SettingsSidebarFix.swift */; }; - 6C0F3A3C2A1D0D5000223D19 /* CodeEditKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6C0F3A3B2A1D0D5000223D19 /* CodeEditKit */; }; 6C147C4029A328BC0089B630 /* SplitViewData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C147C3F29A328560089B630 /* SplitViewData.swift */; }; 6C147C4129A328BF0089B630 /* EditorLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C147C3E29A3281D0089B630 /* EditorLayout.swift */; }; 6C147C4229A328C10089B630 /* Editor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C147C3D29A3281D0089B630 /* Editor.swift */; }; @@ -363,6 +362,8 @@ 6C82D6B929BFE34900495C54 /* HelpCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C82D6B829BFE34900495C54 /* HelpCommands.swift */; }; 6C82D6BC29C00CD900495C54 /* FirstResponderPropertyWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C82D6BB29C00CD900495C54 /* FirstResponderPropertyWrapper.swift */; }; 6C82D6C629C012AD00495C54 /* NSApp+openWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C82D6C529C012AD00495C54 /* NSApp+openWindow.swift */; }; + 6C85BB402C2105ED00EB5DEF /* CodeEditKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6C85BB3F2C2105ED00EB5DEF /* CodeEditKit */; }; + 6C85BB412C21061A00EB5DEF /* GitHubComment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587B9E3C29301D8F00AC7927 /* GitHubComment.swift */; }; 6C91D57229B176FF0059A90D /* EditorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C91D57129B176FF0059A90D /* EditorManager.swift */; }; 6C97EBCC2978760400302F95 /* AcknowledgementsWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C97EBCB2978760400302F95 /* AcknowledgementsWindowController.swift */; }; 6CA1AE952B46950000378EAB /* EditorInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CA1AE942B46950000378EAB /* EditorInstance.swift */; }; @@ -1104,7 +1105,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6C0F3A3C2A1D0D5000223D19 /* CodeEditKit in Frameworks */, + 6C85BB402C2105ED00EB5DEF /* CodeEditKit in Frameworks */, 6C66C31329D05CDC00DE9ED2 /* GRDB in Frameworks */, 58F2EB1E292FB954004A9BDE /* Sparkle in Frameworks */, 6CBE1D002B720565003AC32E /* CodeEditSourceEditor in Frameworks */, @@ -3145,10 +3146,10 @@ 6C6BD6F729CD14D100235D17 /* CodeEditKit */, 6C66C31229D05CDC00DE9ED2 /* GRDB */, 6CDEFC9529E22C2700B7C684 /* Introspect */, - 6C0F3A3B2A1D0D5000223D19 /* CodeEditKit */, 6CB4463F2B6DFF3A00539ED0 /* CodeEditSourceEditor */, 6CBE1CFF2B720565003AC32E /* CodeEditSourceEditor */, 6C0617D52BDB4432008C9C42 /* LogStream */, + 6C85BB3F2C2105ED00EB5DEF /* CodeEditKit */, ); productName = CodeEdit; productReference = B658FB2C27DA9E0F00EA4DBD /* CodeEdit.app */; @@ -3203,7 +3204,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1330; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1540; TargetAttributes = { 2BE487EB28245162003F3F64 = { CreatedOnToolsVersion = 13.3.1; @@ -3241,9 +3242,9 @@ 6C6BD6F229CD142C00235D17 /* XCRemoteSwiftPackageReference "collectionconcurrencykit" */, 6C66C31129D05CC800DE9ED2 /* XCRemoteSwiftPackageReference "GRDB.swift" */, 6CDEFC9429E22C2700B7C684 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, - 6C0F3A3A2A1D0D5000223D19 /* XCRemoteSwiftPackageReference "CodeEditKit" */, 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */, 6C0617D42BDB4432008C9C42 /* XCRemoteSwiftPackageReference "LogStream" */, + 6C85BB3E2C2105ED00EB5DEF /* XCRemoteSwiftPackageReference "CodeEditKit" */, ); productRefGroup = B658FB2D27DA9E0F00EA4DBD /* Products */; projectDirPath = ""; @@ -3786,6 +3787,7 @@ 58798286292ED0FB0085B254 /* SwiftTerm+Color+Init.swift in Sources */, 6CFF967C29BEBD5200182D6F /* WindowCommands.swift in Sources */, 587B9E7229301D8F00AC7927 /* GitJSONPostRouter.swift in Sources */, + 6C85BB412C21061A00EB5DEF /* GitHubComment.swift in Sources */, 5878DAB0291D627C00DD95A3 /* EditorPathBarMenu.swift in Sources */, 04BA7C242AE2E7CD00584E1C /* SourceControlNavigatorSyncView.swift in Sources */, 587B9DA529300ABD00AC7927 /* PressActionsModifier.swift in Sources */, @@ -3930,6 +3932,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4120,6 +4123,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4377,6 +4381,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4568,6 +4573,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -4637,6 +4643,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4960,14 +4967,6 @@ minimumVersion = 1.3.0; }; }; - 6C0F3A3A2A1D0D5000223D19 /* XCRemoteSwiftPackageReference "CodeEditKit" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/CodeEditApp/CodeEditKit"; - requirement = { - kind = exactVersion; - version = 0.1.1; - }; - }; 6C147C4329A329350089B630 /* XCRemoteSwiftPackageReference "swift-collections" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-collections.git"; @@ -4992,6 +4991,14 @@ minimumVersion = 0.2.0; }; }; + 6C85BB3E2C2105ED00EB5DEF /* XCRemoteSwiftPackageReference "CodeEditKit" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/CodeEditApp/CodeEditKit"; + requirement = { + kind = exactVersion; + version = 0.1.2; + }; + }; 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/CodeEditApp/CodeEditSourceEditor"; @@ -5036,11 +5043,6 @@ package = 6C0617D42BDB4432008C9C42 /* XCRemoteSwiftPackageReference "LogStream" */; productName = LogStream; }; - 6C0F3A3B2A1D0D5000223D19 /* CodeEditKit */ = { - isa = XCSwiftPackageProductDependency; - package = 6C0F3A3A2A1D0D5000223D19 /* XCRemoteSwiftPackageReference "CodeEditKit" */; - productName = CodeEditKit; - }; 6C147C4429A329350089B630 /* OrderedCollections */ = { isa = XCSwiftPackageProductDependency; package = 6C147C4329A329350089B630 /* XCRemoteSwiftPackageReference "swift-collections" */; @@ -5070,6 +5072,11 @@ package = 6C147C4329A329350089B630 /* XCRemoteSwiftPackageReference "swift-collections" */; productName = DequeModule; }; + 6C85BB3F2C2105ED00EB5DEF /* CodeEditKit */ = { + isa = XCSwiftPackageProductDependency; + package = 6C85BB3E2C2105ED00EB5DEF /* XCRemoteSwiftPackageReference "CodeEditKit" */; + productName = CodeEditKit; + }; 6CB4463F2B6DFF3A00539ED0 /* CodeEditSourceEditor */ = { isa = XCSwiftPackageProductDependency; productName = CodeEditSourceEditor; diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index b26b7a06e5..8084c09e2e 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -15,8 +15,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/CodeEditApp/CodeEditKit", "state" : { - "revision" : "bf76c0240589a38b504a703363ab85fcedfbc732", - "version" : "0.1.1" + "revision" : "ad28213a968586abb0cb21a8a56a3587227895f1", + "version" : "0.1.2" } }, { diff --git a/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme b/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme index 97eb1050e7..8720f4dbb4 100644 --- a/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme +++ b/CodeEdit.xcodeproj/xcshareddata/xcschemes/CodeEdit.xcscheme @@ -1,6 +1,6 @@ var data = data - guard let $data else { return } - switch $data { + guard let decodedCallbacks = try? JSONDecoder().decode(Callbacks.self, from: data) else { return } + switch decodedCallbacks { case .openWindow(let id): openWindow(id) } } - func updateEnvironment(@Encoded _ value: _CEEnvironment) { - guard let $value else { return } + func updateEnvironment(_ value: _CEEnvironment) { + guard let newEnvironmentData = try? JSONEncoder().encode(value) else { return } guard isOnline else { - toPublish = $value + toPublish = newEnvironmentData return } Task { do { try await connection!.withService { (service: EnvironmentPublisherObjc) in - service.publishEnvironment(data: $value) + service.publishEnvironment(data: newEnvironmentData) } } catch { print(error) diff --git a/CodeEdit/Features/Git/Accounts/GitHub/GitHubConfiguration.swift b/CodeEdit/Features/Git/Accounts/GitHub/GitHubConfiguration.swift index 48e9b44447..c7447877d0 100644 --- a/CodeEdit/Features/Git/Accounts/GitHub/GitHubConfiguration.swift +++ b/CodeEdit/Features/Git/Accounts/GitHub/GitHubConfiguration.swift @@ -89,7 +89,8 @@ struct GitHubOAuthConfiguration: GitRouterConfiguration { if response.statusCode != 200 { return } else { - if let data, let string = String(data: data, encoding: .utf8) { + if let data { + let string = String(decoding: data, as: UTF8.self) let accessToken = self.accessTokenFromResponse(string) if let accessToken { let config = GitHubTokenConfiguration(accessToken, url: self.apiEndpoint ?? "") diff --git a/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift b/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift index 2904982c29..bf8b5b8480 100644 --- a/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift +++ b/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift @@ -72,9 +72,8 @@ extension GitJSONPostRouter { userInfo[gitErrorKey] = json as Any? - } else if let data, - let string = String(data: data, encoding: .utf8) { - userInfo[gitErrorKey] = string as Any? + } else if let data { + userInfo[gitErrorKey] = String(decoding: data, as: UTF8.self) as Any? } let error = NSError( @@ -125,10 +124,9 @@ extension GitJSONPostRouter { with: responseTuple.0, options: .mutableContainers ) as? [String: Any] { - userInfo[gitErrorKey] = json as Any? - - } else if let string = String(data: responseTuple.0, encoding: String.Encoding.utf8) { + // swiftlint:disable:next non_optional_string_data_conversion + } else if let string = String(data: responseTuple.0, encoding: .utf8) { userInfo[gitErrorKey] = string as Any? } throw NSError(domain: configuration?.errorDomain ?? "", code: response.statusCode, userInfo: userInfo) @@ -165,9 +163,8 @@ extension GitJSONPostRouter { with: data, options: .mutableContainers ) as? [String: Any] { - userInfo[gitErrorKey] = json as Any? - + // swiftlint:disable:next non_optional_string_data_conversion } else if let data, let string = String(data: data, encoding: String.Encoding.utf8) { userInfo[gitErrorKey] = string as Any? } @@ -219,8 +216,8 @@ extension GitJSONPostRouter { with: responseTuple.0, options: .mutableContainers ) as? [String: Any] { - userInfo[gitErrorKey] = json as Any? + // swiftlint:disable:next non_optional_string_data_conversion } else if let string = String(data: responseTuple.0, encoding: String.Encoding.utf8) { userInfo[gitErrorKey] = string as Any? } diff --git a/CodeEdit/Features/QuickOpen/Views/NSTableViewWrapper.swift b/CodeEdit/Features/QuickOpen/Views/NSTableViewWrapper.swift index c2b3383e1f..792cf2b02d 100644 --- a/CodeEdit/Features/QuickOpen/Views/NSTableViewWrapper.swift +++ b/CodeEdit/Features/QuickOpen/Views/NSTableViewWrapper.swift @@ -59,11 +59,11 @@ struct NSTableViewWrapper: NSViewR } } - func makeCoordinator() -> Coordinator { + func makeCoordinator() -> Coordinator { Coordinator(parent: self) } - class Coordinator: NSObject, NSTableViewDelegate, NSTableViewDataSource { + class Coordinator: NSObject, NSTableViewDelegate, NSTableViewDataSource { var parent: NSTableViewWrapper diff --git a/CodeEdit/Features/Settings/SettingsView.swift b/CodeEdit/Features/Settings/SettingsView.swift index ab5d25ff28..58c7c15eda 100644 --- a/CodeEdit/Features/Settings/SettingsView.swift +++ b/CodeEdit/Features/Settings/SettingsView.swift @@ -130,10 +130,7 @@ struct SettingsView: View { .padding(.leading, 22) } } - } else if - page.name.rawValue.lowercased().contains(searchText.lowercased()) && - !page.isSetting - { + } else if page.name.rawValue.lowercased().contains(searchText.lowercased()) && !page.isSetting { SettingsPageView(page, searchText: searchText) } } else if !page.isSetting { diff --git a/CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift b/CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift index 8c4aa45079..e134f11043 100644 --- a/CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift +++ b/CodeEdit/Features/TerminalEmulator/Views/TerminalEmulatorView.swift @@ -50,7 +50,7 @@ struct TerminalEmulatorView: NSViewRepresentable { /// Returns a string of a shell path to use private func getShell() -> String { - if shellType != ""{ + if shellType != "" { return shellType } switch terminalSettings.shell { diff --git a/CodeEdit/Utils/KeyChain/CodeEditKeychain.swift b/CodeEdit/Utils/KeyChain/CodeEditKeychain.swift index adf10ec9c0..3da6738f0a 100644 --- a/CodeEdit/Utils/KeyChain/CodeEditKeychain.swift +++ b/CodeEdit/Utils/KeyChain/CodeEditKeychain.swift @@ -127,7 +127,8 @@ class CodeEditKeychain { */ func get(_ key: String) -> String? { if let data = getData(key) { - + // Use the optional version here + // swiftlint:disable:next non_optional_string_data_conversion if let currentString = String(data: data, encoding: .utf8) { return currentString } diff --git a/CodeEdit/Utils/ShellClient/Models/ShellClient.swift b/CodeEdit/Utils/ShellClient/Models/ShellClient.swift index 70c1eaad6a..810a463e32 100644 --- a/CodeEdit/Utils/ShellClient/Models/ShellClient.swift +++ b/CodeEdit/Utils/ShellClient/Models/ShellClient.swift @@ -37,7 +37,7 @@ class ShellClient { let (task, pipe) = generateProcessAndPipe(args) try task.run() let data = pipe.fileHandleForReading.readDataToEndOfFile() - return String(data: data, encoding: .utf8) ?? "" + return String(decoding: data, as: UTF8.self) } /// Run a command with Publisher @@ -65,12 +65,9 @@ class ShellClient { subject.send(completion: .finished) return } - if let line = String(data: data, encoding: .utf8)? - .split(whereSeparator: \.isNewline) { - line - .map(String.init) - .forEach(subject.send(_:)) - } + String(decoding: data, as: UTF8.self) + .split(whereSeparator: \.isNewline) + .forEach({ subject.send(String($0)) }) outputHandler.waitForDataInBackgroundAndNotify() } task.launch() @@ -87,9 +84,9 @@ class ShellClient { pipe.fileHandleForReading.readabilityHandler = { [unowned pipe] fileHandle in let data = fileHandle.availableData if !data.isEmpty { - if let line = String(data: data, encoding: .utf8)?.split(whereSeparator: \.isNewline) { - line.map(String.init).forEach({ continuation.yield($0) }) - } + String(decoding: data, as: UTF8.self) + .split(whereSeparator: \.isNewline) + .forEach({ continuation.yield(String($0)) }) } else { if !task.isRunning && task.terminationStatus != 0 { continuation.finish( diff --git a/CodeEditTests/Utils/CEWorkspaceFileManager/CEWorkspaceFileManagerTests.swift b/CodeEditTests/Utils/CEWorkspaceFileManager/CEWorkspaceFileManagerTests.swift index 678d42385b..60f7a3040c 100644 --- a/CodeEditTests/Utils/CEWorkspaceFileManager/CEWorkspaceFileManagerTests.swift +++ b/CodeEditTests/Utils/CEWorkspaceFileManager/CEWorkspaceFileManagerTests.swift @@ -46,10 +46,10 @@ final class CEWorkspaceFileManagerUnitTests: XCTestCase { let randomCount = Int.random(in: 1 ... 100) let files = generateRandomFiles(amount: randomCount) try files.forEach { - let fakeData = "fake string".data(using: .utf8) + let fakeData = Data("fake string".utf8) let fileUrl = directory .appendingPathComponent($0) - try fakeData!.write(to: fileUrl) + try fakeData.write(to: fileUrl) } let client = CEWorkspaceFileManager( folderUrl: directory, @@ -83,10 +83,10 @@ final class CEWorkspaceFileManagerUnitTests: XCTestCase { var files = client.flattenedFileItems.map { $0.value.name } files.append(newFile) try files.forEach { - let fakeData = "fake string".data(using: .utf8) + let fakeData = Data("fake string".utf8) let fileUrl = directory .appendingPathComponent($0) - try fakeData!.write(to: fileUrl) + try fakeData.write(to: fileUrl) } wait(for: [expectation]) diff --git a/OpenWithCodeEdit/Info.plist b/OpenWithCodeEdit/Info.plist index 077b9f5404..7c0c8a27d1 100644 --- a/OpenWithCodeEdit/Info.plist +++ b/OpenWithCodeEdit/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 0.0.3 + 0.1.0 CFBundleVersion 38 LSUIElement From 1a63fb9440f695d8f1fd1ea3975bc48004d86553 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:36:18 -0500 Subject: [PATCH 13/18] Revert One String Decode --- .../Git/Accounts/Networking/GitJSONPostRouter.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift b/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift index bf8b5b8480..9500e6cd1b 100644 --- a/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift +++ b/CodeEdit/Features/Git/Accounts/Networking/GitJSONPostRouter.swift @@ -69,11 +69,10 @@ extension GitJSONPostRouter { with: data, options: .mutableContainers ) as? [String: Any] { - userInfo[gitErrorKey] = json as Any? - - } else if let data { - userInfo[gitErrorKey] = String(decoding: data, as: UTF8.self) as Any? + // swiftlint:disable:next non_optional_string_data_conversion + } else if let data, let string = String(data: data, encoding: .utf8) { + userInfo[gitErrorKey] = string as Any? } let error = NSError( From 01c09adb75b58c80c0c0eda8e2ca5bf6fc2e16cd Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:43:35 -0500 Subject: [PATCH 14/18] Upgrade Introspect Dependency, Remove Final Warnings --- CodeEdit.xcodeproj/project.pbxproj | 30 +++++++++---------- .../xcshareddata/swiftpm/Package.resolved | 6 ++-- .../PathBar/Views/EditorPathBarMenu.swift | 2 -- .../EditorTabBarLeadingAccessories.swift | 2 +- .../Features/Git/SourceControlManager.swift | 4 +-- ...SourceControlNavigatorRepositoryView.swift | 2 +- .../Settings/Views/SettingsForm.swift | 6 ++-- 7 files changed, 25 insertions(+), 27 deletions(-) diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index 2afbf9f230..2e655c5dae 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -364,6 +364,7 @@ 6C82D6C629C012AD00495C54 /* NSApp+openWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C82D6C529C012AD00495C54 /* NSApp+openWindow.swift */; }; 6C85BB402C2105ED00EB5DEF /* CodeEditKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6C85BB3F2C2105ED00EB5DEF /* CodeEditKit */; }; 6C85BB412C21061A00EB5DEF /* GitHubComment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587B9E3C29301D8F00AC7927 /* GitHubComment.swift */; }; + 6C85BB442C210EFD00EB5DEF /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = 6C85BB432C210EFD00EB5DEF /* SwiftUIIntrospect */; }; 6C91D57229B176FF0059A90D /* EditorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C91D57129B176FF0059A90D /* EditorManager.swift */; }; 6C97EBCC2978760400302F95 /* AcknowledgementsWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C97EBCB2978760400302F95 /* AcknowledgementsWindowController.swift */; }; 6CA1AE952B46950000378EAB /* EditorInstance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CA1AE942B46950000378EAB /* EditorInstance.swift */; }; @@ -382,7 +383,6 @@ 6CC9E4B229B5669900C97388 /* Environment+ActiveEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC9E4B129B5669900C97388 /* Environment+ActiveEditor.swift */; }; 6CD03B6A29FC773F001BD1D0 /* SettingsInjector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CD03B6929FC773F001BD1D0 /* SettingsInjector.swift */; }; 6CDA84AD284C1BA000C1CC3A /* EditorTabBarContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CDA84AC284C1BA000C1CC3A /* EditorTabBarContextMenu.swift */; }; - 6CDEFC9629E22C2700B7C684 /* Introspect in Frameworks */ = {isa = PBXBuildFile; productRef = 6CDEFC9529E22C2700B7C684 /* Introspect */; }; 6CE622692A2A174A0013085C /* InspectorTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE622682A2A174A0013085C /* InspectorTab.swift */; }; 6CE6226B2A2A1C730013085C /* UtilityAreaTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE6226A2A2A1C730013085C /* UtilityAreaTab.swift */; }; 6CE6226E2A2A1CDE0013085C /* NavigatorTab.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE6226D2A2A1CDE0013085C /* NavigatorTab.swift */; }; @@ -1112,9 +1112,9 @@ 6C147C4529A329350089B630 /* OrderedCollections in Frameworks */, 6C0617D62BDB4432008C9C42 /* LogStream in Frameworks */, 6C6BD6F429CD142C00235D17 /* CollectionConcurrencyKit in Frameworks */, + 6C85BB442C210EFD00EB5DEF /* SwiftUIIntrospect in Frameworks */, 6CB446402B6DFF3A00539ED0 /* CodeEditSourceEditor in Frameworks */, 5879828A292ED15F0085B254 /* SwiftTerm in Frameworks */, - 6CDEFC9629E22C2700B7C684 /* Introspect in Frameworks */, 2816F594280CF50500DD548B /* CodeEditSymbols in Frameworks */, 6C6BD6F829CD14D100235D17 /* CodeEditKit in Frameworks */, 6C2C20172A4016FF0047EDF2 /* (null) in Frameworks */, @@ -3145,11 +3145,11 @@ 6C6BD6F329CD142C00235D17 /* CollectionConcurrencyKit */, 6C6BD6F729CD14D100235D17 /* CodeEditKit */, 6C66C31229D05CDC00DE9ED2 /* GRDB */, - 6CDEFC9529E22C2700B7C684 /* Introspect */, 6CB4463F2B6DFF3A00539ED0 /* CodeEditSourceEditor */, 6CBE1CFF2B720565003AC32E /* CodeEditSourceEditor */, 6C0617D52BDB4432008C9C42 /* LogStream */, 6C85BB3F2C2105ED00EB5DEF /* CodeEditKit */, + 6C85BB432C210EFD00EB5DEF /* SwiftUIIntrospect */, ); productName = CodeEdit; productReference = B658FB2C27DA9E0F00EA4DBD /* CodeEdit.app */; @@ -3241,10 +3241,10 @@ 6C147C4329A329350089B630 /* XCRemoteSwiftPackageReference "swift-collections" */, 6C6BD6F229CD142C00235D17 /* XCRemoteSwiftPackageReference "collectionconcurrencykit" */, 6C66C31129D05CC800DE9ED2 /* XCRemoteSwiftPackageReference "GRDB.swift" */, - 6CDEFC9429E22C2700B7C684 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */, 6C0617D42BDB4432008C9C42 /* XCRemoteSwiftPackageReference "LogStream" */, 6C85BB3E2C2105ED00EB5DEF /* XCRemoteSwiftPackageReference "CodeEditKit" */, + 6C85BB422C210EFD00EB5DEF /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, ); productRefGroup = B658FB2D27DA9E0F00EA4DBD /* Products */; projectDirPath = ""; @@ -4999,20 +4999,20 @@ version = 0.1.2; }; }; - 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */ = { + 6C85BB422C210EFD00EB5DEF /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/CodeEditApp/CodeEditSourceEditor"; + repositoryURL = "https://github.com/siteline/SwiftUI-Introspect.git"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 0.7.3; + minimumVersion = 1.2.0; }; }; - 6CDEFC9429E22C2700B7C684 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = { + 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */ = { isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/siteline/SwiftUI-Introspect"; + repositoryURL = "https://github.com/CodeEditApp/CodeEditSourceEditor"; requirement = { kind = upToNextMajorVersion; - minimumVersion = 0.2.3; + minimumVersion = 0.7.3; }; }; /* End XCRemoteSwiftPackageReference section */ @@ -5077,6 +5077,11 @@ package = 6C85BB3E2C2105ED00EB5DEF /* XCRemoteSwiftPackageReference "CodeEditKit" */; productName = CodeEditKit; }; + 6C85BB432C210EFD00EB5DEF /* SwiftUIIntrospect */ = { + isa = XCSwiftPackageProductDependency; + package = 6C85BB422C210EFD00EB5DEF /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */; + productName = SwiftUIIntrospect; + }; 6CB4463F2B6DFF3A00539ED0 /* CodeEditSourceEditor */ = { isa = XCSwiftPackageProductDependency; productName = CodeEditSourceEditor; @@ -5086,11 +5091,6 @@ package = 6CBE1CFE2B720565003AC32E /* XCRemoteSwiftPackageReference "CodeEditSourceEditor" */; productName = CodeEditSourceEditor; }; - 6CDEFC9529E22C2700B7C684 /* Introspect */ = { - isa = XCSwiftPackageProductDependency; - package = 6CDEFC9429E22C2700B7C684 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */; - productName = Introspect; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = B658FB2427DA9E0F00EA4DBD /* Project object */; diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 8084c09e2e..25458cd7bc 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "41fcbec1ecbb7853d9ead798bba9d46f35f28767f4d41a009c8eeee022e99a84", + "originHash" : "f3dd40f19b32a2b522dee7a1e94ceb60afbdb1a028938883adffc7328ef9d804", "pins" : [ { "identity" : "anycodable", @@ -177,8 +177,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/siteline/SwiftUI-Introspect", "state" : { - "revision" : "121c146fe591b1320238d054ae35c81ffa45f45a", - "version" : "0.12.0" + "revision" : "668a65735751432b640260c56dfa621cec568368", + "version" : "1.2.0" } }, { diff --git a/CodeEdit/Features/Editor/PathBar/Views/EditorPathBarMenu.swift b/CodeEdit/Features/Editor/PathBar/Views/EditorPathBarMenu.swift index 26e0a635d0..afac9e0196 100644 --- a/CodeEdit/Features/Editor/PathBar/Views/EditorPathBarMenu.swift +++ b/CodeEdit/Features/Editor/PathBar/Views/EditorPathBarMenu.swift @@ -69,8 +69,6 @@ final class PathBarMenuItem: NSMenuItem { self.fileItem = fileItem self.tappedOpenFile = tappedOpenFile super.init(title: fileItem.name, action: #selector(openFile), keyEquivalent: "") - - let icon = fileItem.systemImage var color = NSColor(fileItem.iconColor) isEnabled = true target = self diff --git a/CodeEdit/Features/Editor/TabBar/Views/EditorTabBarLeadingAccessories.swift b/CodeEdit/Features/Editor/TabBar/Views/EditorTabBarLeadingAccessories.swift index d330da3e73..9f03668652 100644 --- a/CodeEdit/Features/Editor/TabBar/Views/EditorTabBarLeadingAccessories.swift +++ b/CodeEdit/Features/Editor/TabBar/Views/EditorTabBarLeadingAccessories.swift @@ -22,7 +22,7 @@ struct EditorTabBarLeadingAccessories: View { var body: some View { HStack(spacing: 0) { - if let otherEditor { + if otherEditor != nil { EditorTabBarAccessoryIcon( icon: .init(systemName: "multiply"), action: { [weak editor] in diff --git a/CodeEdit/Features/Git/SourceControlManager.swift b/CodeEdit/Features/Git/SourceControlManager.swift index dc8da10e9c..2ab3b1283b 100644 --- a/CodeEdit/Features/Git/SourceControlManager.swift +++ b/CodeEdit/Features/Git/SourceControlManager.swift @@ -206,8 +206,8 @@ final class SourceControlManager: ObservableObject { } /// Apply stash entry - func applyStashEntry(stashEntry: GitStashEntry?) async throws { - try await gitClient.applyStashEntry(stashEntry?.index) + func applyStashEntry(stashEntry: GitStashEntry) async throws { + try await gitClient.applyStashEntry(stashEntry.index) try await refreshStashEntries() await refreshAllChangedFiles() } diff --git a/CodeEdit/Features/NavigatorArea/SourceControlNavigator/Repository/Views/SourceControlNavigatorRepositoryView.swift b/CodeEdit/Features/NavigatorArea/SourceControlNavigator/Repository/Views/SourceControlNavigatorRepositoryView.swift index dc1a813cab..a5a8f9c744 100644 --- a/CodeEdit/Features/NavigatorArea/SourceControlNavigator/Repository/Views/SourceControlNavigatorRepositoryView.swift +++ b/CodeEdit/Features/NavigatorArea/SourceControlNavigator/Repository/Views/SourceControlNavigatorRepositoryView.swift @@ -94,7 +94,7 @@ struct SourceControlNavigatorRepositoryView: View { Button("Apply") { if let stashEntry = stashEntryToApply { Task { - try await sourceControlManager.applyStashEntry(stashEntry: stashEntryToApply) + try await sourceControlManager.applyStashEntry(stashEntry: stashEntry) applyStashedChangesIsPresented = false stashEntryToApply = nil } diff --git a/CodeEdit/Features/Settings/Views/SettingsForm.swift b/CodeEdit/Features/Settings/Views/SettingsForm.swift index 4701d1ac0e..14faaaa615 100644 --- a/CodeEdit/Features/Settings/Views/SettingsForm.swift +++ b/CodeEdit/Features/Settings/Views/SettingsForm.swift @@ -6,7 +6,7 @@ // import SwiftUI -import Introspect +import SwiftUIIntrospect struct SettingsForm: View { @Environment(\.colorScheme) @@ -45,8 +45,8 @@ struct SettingsForm: View { } content } - .introspectScrollView { scrollView in - scrollView.scrollerInsets.top = 50 + .introspect(.scrollView, on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15)) { + $0.scrollerInsets.top = 50 } .formStyle(.grouped) .coordinateSpace(name: "scroll") From df3188c6a088218e9f7651c35131401a8bccae68 Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:46:20 -0500 Subject: [PATCH 15/18] Fix Introspect Error --- CodeEdit/Features/CodeEditUI/Views/PaneTextField.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/CodeEdit/Features/CodeEditUI/Views/PaneTextField.swift b/CodeEdit/Features/CodeEditUI/Views/PaneTextField.swift index 9c0d8e0ffa..3997a9dd55 100644 --- a/CodeEdit/Features/CodeEditUI/Views/PaneTextField.swift +++ b/CodeEdit/Features/CodeEditUI/Views/PaneTextField.swift @@ -7,7 +7,6 @@ import SwiftUI import Combine -import Introspect struct PaneTextField: View { @Environment(\.colorScheme) From 8e98df55a81598298661375dcf228795b4fb54b0 Mon Sep 17 00:00:00 2001 From: Matthijs Eikelenboom Date: Wed, 19 Jun 2024 17:24:42 +0200 Subject: [PATCH 16/18] Reordered some files in the Editor feature folder --- CodeEdit.xcodeproj/project.pbxproj | 16 ++++++++-------- .../xcshareddata/swiftpm/Package.resolved | 6 +++--- ...tchExtension.swift => Editor+TabSwitch.swift} | 0 3 files changed, 11 insertions(+), 11 deletions(-) rename CodeEdit/Features/Editor/Models/{EditorTabSwitchExtension.swift => Editor+TabSwitch.swift} (100%) diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index 2e655c5dae..bccc697850 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -249,7 +249,7 @@ 58F2EB1E292FB954004A9BDE /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = 58F2EB1D292FB954004A9BDE /* Sparkle */; }; 58FD7608291EA1CB0051D6E4 /* QuickActionsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58FD7605291EA1CB0051D6E4 /* QuickActionsViewModel.swift */; }; 58FD7609291EA1CB0051D6E4 /* QuickActionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58FD7607291EA1CB0051D6E4 /* QuickActionsView.swift */; }; - 5994B6DA2BD6B408006A4C5F /* EditorTabSwitchExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5994B6D92BD6B408006A4C5F /* EditorTabSwitchExtension.swift */; }; + 5994B6DA2BD6B408006A4C5F /* Editor+TabSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5994B6D92BD6B408006A4C5F /* Editor+TabSwitch.swift */; }; 5B241BF32B6DDBFF0016E616 /* IgnorePatternListItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B241BF22B6DDBFF0016E616 /* IgnorePatternListItemView.swift */; }; 5B698A0A2B262FA000DE9392 /* SearchSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B698A092B262FA000DE9392 /* SearchSettingsView.swift */; }; 5B698A0D2B26327800DE9392 /* SearchSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B698A0C2B26327800DE9392 /* SearchSettings.swift */; }; @@ -830,7 +830,7 @@ 58F2EAE1292FB2B0004A9BDE /* SoftwareUpdater.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SoftwareUpdater.swift; sourceTree = ""; }; 58FD7605291EA1CB0051D6E4 /* QuickActionsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuickActionsViewModel.swift; sourceTree = ""; }; 58FD7607291EA1CB0051D6E4 /* QuickActionsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuickActionsView.swift; sourceTree = ""; }; - 5994B6D92BD6B408006A4C5F /* EditorTabSwitchExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorTabSwitchExtension.swift; sourceTree = ""; }; + 5994B6D92BD6B408006A4C5F /* Editor+TabSwitch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Editor+TabSwitch.swift"; sourceTree = ""; }; 5B241BF22B6DDBFF0016E616 /* IgnorePatternListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IgnorePatternListItemView.swift; sourceTree = ""; }; 5B698A092B262FA000DE9392 /* SearchSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSettingsView.swift; sourceTree = ""; }; 5B698A0C2B26327800DE9392 /* SearchSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSettings.swift; sourceTree = ""; }; @@ -2813,8 +2813,8 @@ 6C147C4C29A32AA30089B630 /* EditorAreaView.swift */, 0485EB1E27E7458B00138301 /* EditorAreaFileView.swift */, 6C147C4829A32A080089B630 /* EditorLayoutView.swift */, - 661EF7BC2BEE215300C3E577 /* LoadingFileView.swift */, 661EF7B72BEE215300C3E577 /* ImageFileView.swift */, + 661EF7BC2BEE215300C3E577 /* LoadingFileView.swift */, 66F370332BEE537B00D3B823 /* NonTextFileView.swift */, 66F2C8C32BEAA939004674F7 /* PDFFileView.swift */, 6C5B63DD29C76213005454BA /* WindowCodeFileView.swift */, @@ -2825,13 +2825,13 @@ B67660642AA970ED00CD56B0 /* Models */ = { isa = PBXGroup; children = ( - 6C91D57129B176FF0059A90D /* EditorManager.swift */, - 6C147C3E29A3281D0089B630 /* EditorLayout.swift */, 6C147C3D29A3281D0089B630 /* Editor.swift */, + 5994B6D92BD6B408006A4C5F /* Editor+TabSwitch.swift */, 6CA1AE942B46950000378EAB /* EditorInstance.swift */, - 6CC9E4B129B5669900C97388 /* Environment+ActiveEditor.swift */, + 6C147C3E29A3281D0089B630 /* EditorLayout.swift */, 6C092ED92A53A58600489202 /* EditorLayout+StateRestoration.swift */, - 5994B6D92BD6B408006A4C5F /* EditorTabSwitchExtension.swift */, + 6C91D57129B176FF0059A90D /* EditorManager.swift */, + 6CC9E4B129B5669900C97388 /* Environment+ActiveEditor.swift */, ); path = Models; sourceTree = ""; @@ -3563,7 +3563,7 @@ 581550CF29FBD30400684881 /* StandardTableViewCell.swift in Sources */, B62AEDB82A1FE2DC009A9F52 /* UtilityAreaOutputView.swift in Sources */, B67DB0FC2AFDF71F002DC647 /* IconToggleStyle.swift in Sources */, - 5994B6DA2BD6B408006A4C5F /* EditorTabSwitchExtension.swift in Sources */, + 5994B6DA2BD6B408006A4C5F /* Editor+TabSwitch.swift in Sources */, 587B9E5C29301D8F00AC7927 /* Parameters.swift in Sources */, 61538B932B11201900A88846 /* String+Character.swift in Sources */, 613DF55E2B08DD5D00E9D902 /* FileHelper.swift in Sources */, diff --git a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 25458cd7bc..b563ba5b6e 100644 --- a/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/CodeEdit.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -123,8 +123,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-collections.git", "state" : { - "revision" : "94cf62b3ba8d4bed62680a282d4c25f9c63c2efb", - "version" : "1.1.0" + "revision" : "ee97538f5b81ae89698fd95938896dec5217b148", + "version" : "1.1.1" } }, { @@ -175,7 +175,7 @@ { "identity" : "swiftui-introspect", "kind" : "remoteSourceControl", - "location" : "https://github.com/siteline/SwiftUI-Introspect", + "location" : "https://github.com/siteline/SwiftUI-Introspect.git", "state" : { "revision" : "668a65735751432b640260c56dfa621cec568368", "version" : "1.2.0" diff --git a/CodeEdit/Features/Editor/Models/EditorTabSwitchExtension.swift b/CodeEdit/Features/Editor/Models/Editor+TabSwitch.swift similarity index 100% rename from CodeEdit/Features/Editor/Models/EditorTabSwitchExtension.swift rename to CodeEdit/Features/Editor/Models/Editor+TabSwitch.swift From b3b6aaa2f0f0f6aa44cbe50f945538829f79c5ff Mon Sep 17 00:00:00 2001 From: Matthijs Eikelenboom Date: Wed, 19 Jun 2024 17:32:13 +0200 Subject: [PATCH 17/18] Removed extensions folder in CEWorkspace feature folder --- CodeEdit.xcodeproj/project.pbxproj | 12 ++---------- .../CEWorkspaceSettingsData+ProjectSettings.swift | 0 .../CEWorkspaceSettingsData+TasksSettings.swift | 0 3 files changed, 2 insertions(+), 10 deletions(-) rename CodeEdit/Features/CEWorkspace/{Extensions => Models}/CEWorkspaceSettingsData+ProjectSettings.swift (100%) rename CodeEdit/Features/CEWorkspace/{Extensions => Models}/CEWorkspaceSettingsData+TasksSettings.swift (100%) diff --git a/CodeEdit.xcodeproj/project.pbxproj b/CodeEdit.xcodeproj/project.pbxproj index bccc697850..d6e48a90d5 100644 --- a/CodeEdit.xcodeproj/project.pbxproj +++ b/CodeEdit.xcodeproj/project.pbxproj @@ -2120,7 +2120,6 @@ children = ( 588847652992A35800996D95 /* Models */, 77A01E1A2BB33F1E00F0EA38 /* Views */, - 77A01E1B2BB33F3D00F0EA38 /* Extensions */, ); path = CEWorkspace; sourceTree = ""; @@ -2136,6 +2135,8 @@ 6CB52DC82AC8DC3E002E75B3 /* CEWorkspaceFileManager+FileManagement.swift */, 77A01E2D2BB4261200F0EA38 /* CEWorkspaceSettings.swift */, 77A01E262BB4249800F0EA38 /* CEWorkspaceSettingsData.swift */, + 77A01E292BB424EA00F0EA38 /* CEWorkspaceSettingsData+ProjectSettings.swift */, + 77A01E2B2BB425B200F0EA38 /* CEWorkspaceSettingsData+TasksSettings.swift */, 77A01E222BB423A800F0EA38 /* CEWorkspaceSettingsPage.swift */, 77A01E332BB4282900F0EA38 /* CEWorkspaceSettingsSearchResult.swift */, 6C049A362A49E2DB00D42923 /* DirectoryEventStream.swift */, @@ -2576,15 +2577,6 @@ path = Views; sourceTree = ""; }; - 77A01E1B2BB33F3D00F0EA38 /* Extensions */ = { - isa = PBXGroup; - children = ( - 77A01E292BB424EA00F0EA38 /* CEWorkspaceSettingsData+ProjectSettings.swift */, - 77A01E2B2BB425B200F0EA38 /* CEWorkspaceSettingsData+TasksSettings.swift */, - ); - path = Extensions; - sourceTree = ""; - }; 77A01E372BB4291700F0EA38 /* Pages */ = { isa = PBXGroup; children = ( diff --git a/CodeEdit/Features/CEWorkspace/Extensions/CEWorkspaceSettingsData+ProjectSettings.swift b/CodeEdit/Features/CEWorkspace/Models/CEWorkspaceSettingsData+ProjectSettings.swift similarity index 100% rename from CodeEdit/Features/CEWorkspace/Extensions/CEWorkspaceSettingsData+ProjectSettings.swift rename to CodeEdit/Features/CEWorkspace/Models/CEWorkspaceSettingsData+ProjectSettings.swift diff --git a/CodeEdit/Features/CEWorkspace/Extensions/CEWorkspaceSettingsData+TasksSettings.swift b/CodeEdit/Features/CEWorkspace/Models/CEWorkspaceSettingsData+TasksSettings.swift similarity index 100% rename from CodeEdit/Features/CEWorkspace/Extensions/CEWorkspaceSettingsData+TasksSettings.swift rename to CodeEdit/Features/CEWorkspace/Models/CEWorkspaceSettingsData+TasksSettings.swift From f75a017a3dfc7de88074bafa3bb4be6b60baa17d Mon Sep 17 00:00:00 2001 From: Khan Winter <35942988+thecoolwinter@users.noreply.github.com> Date: Fri, 21 Jun 2024 14:13:21 -0500 Subject: [PATCH 18/18] Longer Autosave Debounce --- CodeEdit/Features/Editor/Views/CodeFileView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeEdit/Features/Editor/Views/CodeFileView.swift b/CodeEdit/Features/Editor/Views/CodeFileView.swift index 85572ed915..6cd441d62b 100644 --- a/CodeEdit/Features/Editor/Views/CodeFileView.swift +++ b/CodeEdit/Features/Editor/Views/CodeFileView.swift @@ -67,7 +67,7 @@ struct CodeFileView: View { codeFile .contentCoordinator .textUpdatePublisher - .debounce(for: 0.25, scheduler: DispatchQueue.main) + .debounce(for: 1.0, scheduler: DispatchQueue.main) .sink { _ in codeFile.updateChangeCount(.changeDone) codeFile.autosave(withImplicitCancellability: false) { _ in }