@@ -123,24 +123,18 @@ public final class Workspace {
123123 fileURL: fileURL,
124124 onSave: { [ weak self] filespace in
125125 guard let self else { return }
126- for plugin in self . plugins. values {
127- plugin. didSaveFilespace ( filespace)
128- }
126+ self . didSaveFilespace ( filespace)
129127 } ,
130128 onClose: { [ weak self] url in
131129 guard let self else { return }
132- for plugin in self . plugins. values {
133- plugin. didCloseFilespace ( url)
134- }
130+ self . didCloseFilespace ( url)
135131 }
136132 )
137133 if filespaces [ fileURL] == nil {
138134 filespaces [ fileURL] = filespace
139135 }
140136 if existedFilespace == nil {
141- for plugin in plugins. values {
142- plugin. didOpenFilespace ( filespace)
143- }
137+ didOpenFilespace ( filespace)
144138 } else {
145139 filespace. refreshUpdateTime ( )
146140 }
@@ -154,10 +148,37 @@ public final class Workspace {
154148
155149 @WorkspaceActor
156150 public func didUpdateFilespace( fileURL: URL , content: String ) {
151+ refreshUpdateTime ( )
157152 guard let filespace = filespaces [ fileURL] else { return }
153+ filespace. refreshUpdateTime ( )
158154 for plugin in plugins. values {
159155 plugin. didUpdateFilespace ( filespace, content: content)
160156 }
161157 }
158+
159+ @WorkspaceActor
160+ func didOpenFilespace( _ filespace: Filespace ) {
161+ refreshUpdateTime ( )
162+ openedFileRecoverableStorage. openFile ( fileURL: filespace. fileURL)
163+ for plugin in plugins. values {
164+ plugin. didOpenFilespace ( filespace)
165+ }
166+ }
167+
168+ @WorkspaceActor
169+ func didCloseFilespace( _ fileURL: URL ) {
170+ for plugin in self . plugins. values {
171+ plugin. didCloseFilespace ( fileURL)
172+ }
173+ }
174+
175+ @WorkspaceActor
176+ func didSaveFilespace( _ filespace: Filespace ) {
177+ refreshUpdateTime ( )
178+ filespace. refreshUpdateTime ( )
179+ for plugin in plugins. values {
180+ plugin. didSaveFilespace ( filespace)
181+ }
182+ }
162183}
163184
0 commit comments