@@ -9,24 +9,25 @@ import XPCShared
99 public static let shared = TheActor ( )
1010}
1111
12+ @ServiceActor
13+ var workspaces = [ URL: Workspace] ( )
14+
1215public class XPCService : NSObject , XPCServiceProtocol {
1316 @ServiceActor
1417 lazy var authService : CopilotAuthServiceType = Environment . createAuthService ( )
15- @ServiceActor
16- var workspaces = [ URL: Workspace] ( )
1718
1819 override public init ( ) {
1920 super. init ( )
2021 let identifier = ObjectIdentifier ( self )
2122 Task {
2223 await AutoTrigger . shared. start ( by: identifier)
2324 }
24- Task { @ServiceActor [ weak self ] in
25- while let self , !Task. isCancelled {
25+ Task { @ServiceActor in
26+ while !Task. isCancelled {
2627 try await Task . sleep ( nanoseconds: 8 * 60 * 60 * 1_000_000_000 )
27- for (url, workspace) in self . workspaces {
28+ for (url, workspace) in workspaces {
2829 if workspace. isExpired {
29- self . workspaces [ url] = nil
30+ workspaces [ url] = nil
3031 } else {
3132 workspace. cleanUp ( )
3233 }
@@ -106,7 +107,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
106107 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
107108 let fileURL = try await Environment . fetchCurrentFileURL ( )
108109 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
109-
110+
110111 let updatedContent = try await workspace. getSuggestedCode (
111112 forFileAt: fileURL,
112113 content: editor. content,
@@ -133,7 +134,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
133134 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
134135 let fileURL = try await Environment . fetchCurrentFileURL ( )
135136 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
136-
137+
137138 let updatedContent = workspace. getNextSuggestedCode (
138139 forFileAt: fileURL,
139140 content: editor. content,
@@ -157,7 +158,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
157158 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
158159 let fileURL = try await Environment . fetchCurrentFileURL ( )
159160 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
160-
161+
161162 let updatedContent = workspace. getPreviousSuggestedCode (
162163 forFileAt: fileURL,
163164 content: editor. content,
@@ -181,7 +182,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
181182 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
182183 let fileURL = try await Environment . fetchCurrentFileURL ( )
183184 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
184-
185+
185186 let updatedContent = workspace. getSuggestionRejectedCode (
186187 forFileAt: fileURL,
187188 content: editor. content,
@@ -205,7 +206,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
205206 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
206207 let fileURL = try await Environment . fetchCurrentFileURL ( )
207208 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
208-
209+
209210 let updatedContent = workspace. getSuggestionAcceptedCode (
210211 forFileAt: fileURL,
211212 content: editor. content,
@@ -229,7 +230,7 @@ public class XPCService: NSObject, XPCServiceProtocol {
229230 let editor = try JSONDecoder ( ) . decode ( EditorContent . self, from: editorContent)
230231 let fileURL = try await Environment . fetchCurrentFileURL ( )
231232 let workspace = try await fetchOrCreateWorkspaceIfNeeded ( fileURL: fileURL)
232-
233+
233234 let canAutoTrigger = workspace. canAutoTriggerGetSuggestions (
234235 forFileAt: fileURL,
235236 lines: editor. lines,
0 commit comments