@codingame/monaco-vscode-user-data-profile-service-override 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +7 -9
  3. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +21 -20
  4. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +26 -25
  5. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +26 -25
  6. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +20 -18
  7. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +40 -40
  8. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +14 -14
  9. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/media/userDataProfilesEditor.css.js +6 -0
  10. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.contribution.js +4 -3
  11. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.js +91 -25
  12. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.js +943 -0
  13. package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.js +481 -0
  14. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +2 -1
  15. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +14 -8
  16. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +10 -8
  17. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +5 -4
  18. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +7 -6
  19. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +4 -3
  20. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +5 -4
  21. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +119 -70
  22. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +9 -7
  23. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +1 -0
  24. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileStorageService.js +4 -3
  25. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +15 -13
@@ -2,10 +2,12 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
3
3
  import { Event } from 'vscode/vscode/vs/base/common/event';
4
4
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
5
+ import { ConfigurationTarget } from 'vscode/vscode/vs/platform/configuration/common/configuration';
5
6
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
6
7
  import { ConfigurationModelParser } from 'vscode/vscode/vs/platform/configuration/common/configurationModels';
7
8
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
8
9
  import { IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
10
+ import { FileOperationResult } from 'vscode/vscode/vs/platform/files/common/files';
9
11
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
10
12
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
11
13
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
@@ -13,7 +15,7 @@ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/commo
13
15
  import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
14
16
  import { AbstractJsonFileSynchroniser, AbstractInitializer } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
15
17
  import { merge, updateIgnoredSettings, isEmpty, getIgnoredSettings } from 'vscode/vscode/vs/platform/userDataSync/common/settingsMerge';
16
- import { USER_DATA_SYNC_SCHEME, USER_DATA_SYNC_CONFIGURATION_SCOPE, UserDataSyncError } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
18
+ import { SyncResource, USER_DATA_SYNC_SCHEME, USER_DATA_SYNC_CONFIGURATION_SCOPE, Change, UserDataSyncError, UserDataSyncErrorCode } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
17
19
  import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncUtilService, IUserDataSyncEnablementService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
18
20
 
19
21
  const _moduleId = "vs/platform/userDataSync/common/settingsSync";
@@ -28,7 +30,7 @@ function parseSettingsSyncContent(syncContent) {
28
30
  }
29
31
  let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSynchroniser {
30
32
  constructor(profile, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, logService, userDataSyncUtilService, configurationService, userDataSyncEnablementService, telemetryService, extensionManagementService, uriIdentityService) {
31
- super(profile.settingsResource, { syncResource: "settings" , profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, userDataSyncUtilService, configurationService, uriIdentityService);
33
+ super(profile.settingsResource, { syncResource: SyncResource.Settings, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, userDataSyncUtilService, configurationService, uriIdentityService);
32
34
  this.extensionManagementService = extensionManagementService;
33
35
  this.version = 2;
34
36
  this.previewResource = this.extUri.joinPath(this.syncPreviewFolder, 'settings.json');
@@ -80,8 +82,8 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
80
82
  const baseContent = lastSettingsSyncContent?.settings ?? null;
81
83
  const previewResult = {
82
84
  content: hasConflicts ? baseContent : mergedContent,
83
- localChange: hasLocalChanged ? 2 : 0 ,
84
- remoteChange: hasRemoteChanged ? 2 : 0 ,
85
+ localChange: hasLocalChanged ? Change.Modified : Change.None,
86
+ remoteChange: hasRemoteChanged ? Change.Modified : Change.None,
85
87
  hasConflicts
86
88
  };
87
89
  return [{
@@ -125,15 +127,15 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
125
127
  if (this.extUri.isEqual(resource, this.localResource)) {
126
128
  return {
127
129
  content: resourcePreview.fileContent ? updateIgnoredSettings(( resourcePreview.fileContent.value.toString()), '{}', ignoredSettings, formattingOptions) : null,
128
- localChange: 0 ,
129
- remoteChange: 2 ,
130
+ localChange: Change.None,
131
+ remoteChange: Change.Modified,
130
132
  };
131
133
  }
132
134
  if (this.extUri.isEqual(resource, this.remoteResource)) {
133
135
  return {
134
136
  content: resourcePreview.remoteContent !== null ? updateIgnoredSettings(resourcePreview.remoteContent, resourcePreview.fileContent ? ( resourcePreview.fileContent.value.toString()) : '{}', ignoredSettings, formattingOptions) : null,
135
- localChange: 2 ,
136
- remoteChange: 0 ,
137
+ localChange: Change.Modified,
138
+ remoteChange: Change.None,
137
139
  };
138
140
  }
139
141
  if (this.extUri.isEqual(resource, this.previewResource)) {
@@ -147,8 +149,8 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
147
149
  else {
148
150
  return {
149
151
  content: content !== null ? updateIgnoredSettings(content, resourcePreview.fileContent ? ( resourcePreview.fileContent.value.toString()) : '{}', ignoredSettings, formattingOptions) : null,
150
- localChange: 2 ,
151
- remoteChange: 2 ,
152
+ localChange: Change.Modified,
153
+ remoteChange: Change.Modified,
152
154
  };
153
155
  }
154
156
  }
@@ -157,22 +159,22 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
157
159
  async applyResult(remoteUserData, lastSyncUserData, resourcePreviews, force) {
158
160
  const { fileContent } = resourcePreviews[0][0];
159
161
  let { content, localChange, remoteChange } = resourcePreviews[0][1];
160
- if (localChange === 0 && remoteChange === 0 ) {
162
+ if (localChange === Change.None && remoteChange === Change.None) {
161
163
  this.logService.info(`${this.syncResourceLogLabel}: No changes found during synchronizing settings.`);
162
164
  }
163
165
  content = content ? content.trim() : '{}';
164
166
  content = content || '{}';
165
167
  this.validateContent(content);
166
- if (localChange !== 0 ) {
168
+ if (localChange !== Change.None) {
167
169
  this.logService.trace(`${this.syncResourceLogLabel}: Updating local settings...`);
168
170
  if (fileContent) {
169
171
  await this.backupLocal(JSON.stringify(this.toSettingsSyncContent(( fileContent.value.toString()))));
170
172
  }
171
173
  await this.updateLocalFileContent(content, fileContent, force);
172
- await this.configurationService.reloadConfiguration(3 );
174
+ await this.configurationService.reloadConfiguration(ConfigurationTarget.USER_LOCAL);
173
175
  this.logService.info(`${this.syncResourceLogLabel}: Updated local settings`);
174
176
  }
175
- if (remoteChange !== 0 ) {
177
+ if (remoteChange !== Change.None) {
176
178
  const formatUtils = await this.getFormattingOptions();
177
179
  const remoteSettingsSyncContent = this.getSettingsSyncContent(remoteUserData);
178
180
  const ignoredSettings = await this.getIgnoredSettings(content);
@@ -199,7 +201,7 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
199
201
  }
200
202
  }
201
203
  catch (error) {
202
- if (error.fileOperationResult !== 1 ) {
204
+ if (error.fileOperationResult !== FileOperationResult.FILE_NOT_FOUND) {
203
205
  return true;
204
206
  }
205
207
  }
@@ -255,7 +257,7 @@ let SettingsSynchroniser = class SettingsSynchroniser extends AbstractJsonFileSy
255
257
  _moduleId,
256
258
  0,
257
259
  "Unable to sync settings as there are errors/warning in settings file."
258
- ), "LocalInvalidContent" , this.resource));
260
+ ), UserDataSyncErrorCode.LocalInvalidContent, this.resource));
259
261
  }
260
262
  }
261
263
  };
@@ -275,7 +277,7 @@ SettingsSynchroniser = ( __decorate([
275
277
  ], SettingsSynchroniser));
276
278
  let SettingsInitializer = class SettingsInitializer extends AbstractInitializer {
277
279
  constructor(fileService, userDataProfilesService, environmentService, logService, storageService, uriIdentityService) {
278
- super("settings" , userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
280
+ super(SyncResource.Settings, userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
279
281
  }
280
282
  async doInitialize(remoteUserData) {
281
283
  const settingsSyncContent = remoteUserData.syncData ? this.parseSettingsSyncContent(remoteUserData.syncData.content) : null;
@@ -297,7 +299,7 @@ let SettingsInitializer = class SettingsInitializer extends AbstractInitializer
297
299
  return isEmpty(( fileContent.value.toString()).trim());
298
300
  }
299
301
  catch (error) {
300
- return error.fileOperationResult === 1 ;
302
+ return error.fileOperationResult === FileOperationResult.FILE_NOT_FOUND;
301
303
  }
302
304
  }
303
305
  parseSettingsSyncContent(syncContent) {
@@ -4,7 +4,7 @@ import { Event } from 'vscode/vscode/vs/base/common/event';
4
4
  import { deepClone } from 'vscode/vscode/vs/base/common/objects';
5
5
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
6
6
  import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
7
- import { FileOperationError } from 'vscode/vscode/vs/platform/files/common/files';
7
+ import { FileOperationError, FileOperationResult } from 'vscode/vscode/vs/platform/files/common/files';
8
8
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
9
9
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
10
10
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
@@ -12,7 +12,7 @@ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/commo
12
12
  import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
13
13
  import { AbstractSynchroniser, AbstractInitializer } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
14
14
  import { merge, areSame } from './snippetsMerge.js';
15
- import { USER_DATA_SYNC_SCHEME } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
15
+ import { SyncResource, USER_DATA_SYNC_SCHEME, Change } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
16
16
  import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncEnablementService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
17
17
 
18
18
  function parseSnippets(syncData) {
@@ -20,7 +20,7 @@ function parseSnippets(syncData) {
20
20
  }
21
21
  let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchroniser {
22
22
  constructor(profile, collection, environmentService, fileService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, logService, configurationService, userDataSyncEnablementService, telemetryService, uriIdentityService) {
23
- super({ syncResource: "snippets" , profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
23
+ super({ syncResource: SyncResource.Snippets, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
24
24
  this.version = 1;
25
25
  this.snippetsFolder = profile.snippetsHome;
26
26
  this._register(this.fileService.watch(environmentService.userRoamingDataHome));
@@ -59,19 +59,19 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
59
59
  if (this.extUri.isEqualOrParent(resource, this.syncPreviewFolder.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'local' }))) {
60
60
  return {
61
61
  content: resourcePreview.fileContent ? ( resourcePreview.fileContent.value.toString()) : null,
62
- localChange: 0 ,
62
+ localChange: Change.None,
63
63
  remoteChange: resourcePreview.fileContent
64
- ? resourcePreview.remoteContent !== null ? 2 : 1
65
- : 3
64
+ ? resourcePreview.remoteContent !== null ? Change.Modified : Change.Added
65
+ : Change.Deleted
66
66
  };
67
67
  }
68
68
  if (this.extUri.isEqualOrParent(resource, this.syncPreviewFolder.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'remote' }))) {
69
69
  return {
70
70
  content: resourcePreview.remoteContent,
71
71
  localChange: resourcePreview.remoteContent !== null
72
- ? resourcePreview.fileContent ? 2 : 1
73
- : 3 ,
74
- remoteChange: 0 ,
72
+ ? resourcePreview.fileContent ? Change.Modified : Change.Added
73
+ : Change.Deleted,
74
+ remoteChange: Change.None,
75
75
  };
76
76
  }
77
77
  if (this.extUri.isEqualOrParent(resource, this.syncPreviewFolder)) {
@@ -86,11 +86,11 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
86
86
  return {
87
87
  content,
88
88
  localChange: content === null
89
- ? resourcePreview.fileContent !== null ? 3 : 0
90
- : 2 ,
89
+ ? resourcePreview.fileContent !== null ? Change.Deleted : Change.None
90
+ : Change.Modified,
91
91
  remoteChange: content === null
92
- ? resourcePreview.remoteContent !== null ? 3 : 0
93
- : 2
92
+ ? resourcePreview.remoteContent !== null ? Change.Deleted : Change.None
93
+ : Change.Modified
94
94
  };
95
95
  }
96
96
  }
@@ -100,14 +100,14 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
100
100
  const accptedResourcePreviews = ( resourcePreviews.map(
101
101
  ([resourcePreview, acceptResult]) => ({ ...resourcePreview, acceptResult })
102
102
  ));
103
- if (accptedResourcePreviews.every(({ localChange, remoteChange }) => localChange === 0 && remoteChange === 0 )) {
103
+ if (accptedResourcePreviews.every(({ localChange, remoteChange }) => localChange === Change.None && remoteChange === Change.None)) {
104
104
  this.logService.info(`${this.syncResourceLogLabel}: No changes found during synchronizing snippets.`);
105
105
  }
106
- if (( accptedResourcePreviews.some(({ localChange }) => localChange !== 0 ))) {
106
+ if (( accptedResourcePreviews.some(({ localChange }) => localChange !== Change.None))) {
107
107
  await this.updateLocalBackup(accptedResourcePreviews);
108
108
  await this.updateLocalSnippets(accptedResourcePreviews, force);
109
109
  }
110
- if (( accptedResourcePreviews.some(({ remoteChange }) => remoteChange !== 0 ))) {
110
+ if (( accptedResourcePreviews.some(({ remoteChange }) => remoteChange !== Change.None))) {
111
111
  remoteUserData = await this.updateRemoteSnippets(accptedResourcePreviews, remoteUserData, force);
112
112
  }
113
113
  if (lastSyncUserData?.ref !== remoteUserData.ref) {
@@ -128,8 +128,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
128
128
  const previewResult = {
129
129
  content: snippetsMergeResult.local.added[key],
130
130
  hasConflicts: false,
131
- localChange: 1 ,
132
- remoteChange: 0 ,
131
+ localChange: Change.Added,
132
+ remoteChange: Change.None,
133
133
  };
134
134
  resourcePreviews.set(key, {
135
135
  baseResource: this.extUri.joinPath(this.syncPreviewFolder, key).with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'base' }),
@@ -150,8 +150,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
150
150
  const previewResult = {
151
151
  content: snippetsMergeResult.local.updated[key],
152
152
  hasConflicts: false,
153
- localChange: 2 ,
154
- remoteChange: 0 ,
153
+ localChange: Change.Modified,
154
+ remoteChange: Change.None,
155
155
  };
156
156
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
157
157
  resourcePreviews.set(key, {
@@ -173,8 +173,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
173
173
  const previewResult = {
174
174
  content: null,
175
175
  hasConflicts: false,
176
- localChange: 3 ,
177
- remoteChange: 0 ,
176
+ localChange: Change.Deleted,
177
+ remoteChange: Change.None,
178
178
  };
179
179
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
180
180
  resourcePreviews.set(key, {
@@ -196,8 +196,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
196
196
  const previewResult = {
197
197
  content: snippetsMergeResult.remote.added[key],
198
198
  hasConflicts: false,
199
- localChange: 0 ,
200
- remoteChange: 1 ,
199
+ localChange: Change.None,
200
+ remoteChange: Change.Added,
201
201
  };
202
202
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
203
203
  resourcePreviews.set(key, {
@@ -219,8 +219,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
219
219
  const previewResult = {
220
220
  content: snippetsMergeResult.remote.updated[key],
221
221
  hasConflicts: false,
222
- localChange: 0 ,
223
- remoteChange: 2 ,
222
+ localChange: Change.None,
223
+ remoteChange: Change.Modified,
224
224
  };
225
225
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
226
226
  resourcePreviews.set(key, {
@@ -242,8 +242,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
242
242
  const previewResult = {
243
243
  content: null,
244
244
  hasConflicts: false,
245
- localChange: 0 ,
246
- remoteChange: 3 ,
245
+ localChange: Change.None,
246
+ remoteChange: Change.Deleted,
247
247
  };
248
248
  resourcePreviews.set(key, {
249
249
  baseResource: this.extUri.joinPath(this.syncPreviewFolder, key).with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'base' }),
@@ -264,8 +264,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
264
264
  const previewResult = {
265
265
  content: baseSnippets[key] ?? null,
266
266
  hasConflicts: true,
267
- localChange: localFileContent[key] ? 2 : 1 ,
268
- remoteChange: remoteSnippets[key] ? 2 : 1
267
+ localChange: localFileContent[key] ? Change.Modified : Change.Added,
268
+ remoteChange: remoteSnippets[key] ? Change.Modified : Change.Added
269
269
  };
270
270
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
271
271
  resourcePreviews.set(key, {
@@ -288,8 +288,8 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
288
288
  const previewResult = {
289
289
  content: localFileContent[key] ? ( localFileContent[key].value.toString()) : null,
290
290
  hasConflicts: false,
291
- localChange: 0 ,
292
- remoteChange: 0
291
+ localChange: Change.None,
292
+ remoteChange: Change.None
293
293
  };
294
294
  const localContent = localFileContent[key] ? ( localFileContent[key].value.toString()) : null;
295
295
  resourcePreviews.set(key, {
@@ -341,15 +341,15 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
341
341
  }
342
342
  async updateLocalSnippets(resourcePreviews, force) {
343
343
  for (const { fileContent, acceptResult, localResource, remoteResource, localChange } of resourcePreviews) {
344
- if (localChange !== 0 ) {
344
+ if (localChange !== Change.None) {
345
345
  const key = remoteResource ? this.extUri.basename(remoteResource) : this.extUri.basename(localResource);
346
346
  const resource = this.extUri.joinPath(this.snippetsFolder, key);
347
- if (localChange === 3 ) {
347
+ if (localChange === Change.Deleted) {
348
348
  this.logService.trace(`${this.syncResourceLogLabel}: Deleting snippet...`, this.extUri.basename(resource));
349
349
  await this.fileService.del(resource);
350
350
  this.logService.info(`${this.syncResourceLogLabel}: Deleted snippet`, this.extUri.basename(resource));
351
351
  }
352
- else if (localChange === 1 ) {
352
+ else if (localChange === Change.Added) {
353
353
  this.logService.trace(`${this.syncResourceLogLabel}: Creating snippet...`, this.extUri.basename(resource));
354
354
  await this.fileService.createFile(resource, VSBuffer.fromString(acceptResult.content), { overwrite: force });
355
355
  this.logService.info(`${this.syncResourceLogLabel}: Created snippet`, this.extUri.basename(resource));
@@ -366,9 +366,9 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
366
366
  const currentSnippets = remoteUserData.syncData ? this.parseSnippets(remoteUserData.syncData) : {};
367
367
  const newSnippets = deepClone(currentSnippets);
368
368
  for (const { acceptResult, localResource, remoteResource, remoteChange } of resourcePreviews) {
369
- if (remoteChange !== 0 ) {
369
+ if (remoteChange !== Change.None) {
370
370
  const key = localResource ? this.extUri.basename(localResource) : this.extUri.basename(remoteResource);
371
- if (remoteChange === 3 ) {
371
+ if (remoteChange === Change.Deleted) {
372
372
  delete newSnippets[key];
373
373
  }
374
374
  else {
@@ -400,7 +400,7 @@ let SnippetsSynchroniser = class SnippetsSynchroniser extends AbstractSynchronis
400
400
  stat = await this.fileService.resolve(this.snippetsFolder);
401
401
  }
402
402
  catch (e) {
403
- if (e instanceof FileOperationError && e.fileOperationResult === 1 ) {
403
+ if (e instanceof FileOperationError && e.fileOperationResult === FileOperationResult.FILE_NOT_FOUND) {
404
404
  return snippets;
405
405
  }
406
406
  else {
@@ -433,7 +433,7 @@ SnippetsSynchroniser = ( __decorate([
433
433
  ], SnippetsSynchroniser));
434
434
  let SnippetsInitializer = class SnippetsInitializer extends AbstractInitializer {
435
435
  constructor(fileService, userDataProfilesService, environmentService, logService, storageService, uriIdentityService) {
436
- super("snippets" , userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
436
+ super(SyncResource.Snippets, userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
437
437
  }
438
438
  async doInitialize(remoteUserData) {
439
439
  const remoteSnippets = remoteUserData.syncData ? JSON.parse(remoteUserData.syncData.content) : null;
@@ -462,7 +462,7 @@ let SnippetsInitializer = class SnippetsInitializer extends AbstractInitializer
462
462
  return !stat.children?.length;
463
463
  }
464
464
  catch (error) {
465
- return error.fileOperationResult === 1 ;
465
+ return error.fileOperationResult === FileOperationResult.FILE_NOT_FOUND;
466
466
  }
467
467
  }
468
468
  };
@@ -8,7 +8,7 @@ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/te
8
8
  import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
9
9
  import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
10
10
  import { AbstractFileSynchroniser, AbstractInitializer } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
11
- import { USER_DATA_SYNC_SCHEME } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
11
+ import { SyncResource, USER_DATA_SYNC_SCHEME, Change } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
12
12
  import { IUserDataSyncStoreService, IUserDataSyncLocalStoreService, IUserDataSyncLogService, IUserDataSyncEnablementService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync.service';
13
13
 
14
14
  function getTasksContentFromSyncContent(syncContent, logService) {
@@ -23,7 +23,7 @@ function getTasksContentFromSyncContent(syncContent, logService) {
23
23
  }
24
24
  let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser {
25
25
  constructor(profile, collection, userDataSyncStoreService, userDataSyncLocalStoreService, logService, configurationService, userDataSyncEnablementService, fileService, environmentService, storageService, telemetryService, uriIdentityService) {
26
- super(profile.tasksResource, { syncResource: "tasks" , profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
26
+ super(profile.tasksResource, { syncResource: SyncResource.Tasks, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
27
27
  this.version = 1;
28
28
  this.previewResource = this.extUri.joinPath(this.syncPreviewFolder, 'tasks.json');
29
29
  this.baseResource = this.previewResource.with({ scheme: USER_DATA_SYNC_SCHEME, authority: 'base' });
@@ -61,8 +61,8 @@ let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser
61
61
  }
62
62
  const previewResult = {
63
63
  content: hasConflicts ? lastSyncContent : content,
64
- localChange: hasLocalChanged ? fileContent ? 2 : 1 : 0 ,
65
- remoteChange: hasRemoteChanged ? 2 : 0 ,
64
+ localChange: hasLocalChanged ? fileContent ? Change.Modified : Change.Added : Change.None,
65
+ remoteChange: hasRemoteChanged ? Change.Modified : Change.None,
66
66
  hasConflicts
67
67
  };
68
68
  const localContent = fileContent ? ( fileContent.value.toString()) : null;
@@ -98,15 +98,15 @@ let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser
98
98
  if (this.extUri.isEqual(resource, this.localResource)) {
99
99
  return {
100
100
  content: resourcePreview.fileContent ? ( resourcePreview.fileContent.value.toString()) : null,
101
- localChange: 0 ,
102
- remoteChange: 2 ,
101
+ localChange: Change.None,
102
+ remoteChange: Change.Modified,
103
103
  };
104
104
  }
105
105
  if (this.extUri.isEqual(resource, this.remoteResource)) {
106
106
  return {
107
107
  content: resourcePreview.remoteContent,
108
- localChange: 2 ,
109
- remoteChange: 0 ,
108
+ localChange: Change.Modified,
109
+ remoteChange: Change.None,
110
110
  };
111
111
  }
112
112
  if (this.extUri.isEqual(resource, this.previewResource)) {
@@ -120,8 +120,8 @@ let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser
120
120
  else {
121
121
  return {
122
122
  content,
123
- localChange: 2 ,
124
- remoteChange: 2 ,
123
+ localChange: Change.Modified,
124
+ remoteChange: Change.Modified,
125
125
  };
126
126
  }
127
127
  }
@@ -130,10 +130,10 @@ let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser
130
130
  async applyResult(remoteUserData, lastSyncUserData, resourcePreviews, force) {
131
131
  const { fileContent } = resourcePreviews[0][0];
132
132
  const { content, localChange, remoteChange } = resourcePreviews[0][1];
133
- if (localChange === 0 && remoteChange === 0 ) {
133
+ if (localChange === Change.None && remoteChange === Change.None) {
134
134
  this.logService.info(`${this.syncResourceLogLabel}: No changes found during synchronizing tasks.`);
135
135
  }
136
- if (localChange !== 0 ) {
136
+ if (localChange !== Change.None) {
137
137
  this.logService.trace(`${this.syncResourceLogLabel}: Updating local tasks...`);
138
138
  if (fileContent) {
139
139
  await this.backupLocal(JSON.stringify(this.toTasksSyncContent(( fileContent.value.toString()))));
@@ -146,7 +146,7 @@ let TasksSynchroniser = class TasksSynchroniser extends AbstractFileSynchroniser
146
146
  }
147
147
  this.logService.info(`${this.syncResourceLogLabel}: Updated local tasks`);
148
148
  }
149
- if (remoteChange !== 0 ) {
149
+ if (remoteChange !== Change.None) {
150
150
  this.logService.trace(`${this.syncResourceLogLabel}: Updating remote tasks...`);
151
151
  const remoteContents = JSON.stringify(this.toTasksSyncContent(content));
152
152
  remoteUserData = await this.updateRemoteUserData(remoteContents, force ? null : remoteUserData.ref);
@@ -192,7 +192,7 @@ TasksSynchroniser = ( __decorate([
192
192
  ], TasksSynchroniser));
193
193
  let TasksInitializer = class TasksInitializer extends AbstractInitializer {
194
194
  constructor(fileService, userDataProfilesService, environmentService, logService, storageService, uriIdentityService) {
195
- super("tasks" , userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
195
+ super(SyncResource.Tasks, userDataProfilesService, environmentService, logService, fileService, storageService, uriIdentityService);
196
196
  this.tasksResource = this.userDataProfilesService.defaultProfile.tasksResource;
197
197
  }
198
198
  async doInitialize(remoteUserData) {
@@ -0,0 +1,6 @@
1
+ import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".profiles-editor{height:100%;margin:20px auto 0;max-width:1000px;overflow:hidden}.profiles-editor .contents-view,.profiles-editor .sidebar-view{height:100%}.profiles-editor .contents-container,.profiles-editor .sidebar-container{height:100%;padding:0 20px}.profiles-editor .sidebar-container .new-profile-button{align-items:center;display:flex}.profiles-editor .sidebar-container .new-profile-button>.monaco-button-dropdown{flex-grow:1}.profiles-editor .monaco-button-dropdown>.monaco-dropdown-button{align-items:center;display:flex;padding:0 4px}.profiles-editor .sidebar-container .profiles-tree{margin-top:10px}.profiles-editor .sidebar-container .profiles-tree .profile-tree-item{align-items:center;display:flex}.profiles-editor .sidebar-container .profiles-tree .profile-tree-item>*{margin-right:5px}.profiles-editor .sidebar-container .profiles-tree .profile-tree-item>.profile-tree-item-description{align-items:center;display:flex;font-size:.9em;margin-left:2px;opacity:.7}.profiles-editor .hide{display:none!important}.profiles-editor .contents-container .profile-header{align-items:center;display:flex;height:34px}.profiles-editor .contents-container .profile-header .profile-title{flex:1;font-size:x-large;font-weight:700}.profiles-editor .contents-container .profile-header .profile-actions-container{display:flex;height:28px}.profiles-editor .contents-container .profile-header .profile-actions-container .actions-container{gap:4px}.profiles-editor .contents-container .profile-header .profile-actions-container .actions-container .codicon{font-size:18px}.profiles-editor .contents-container .profile-header .profile-actions-container .profile-button-container{margin-right:5px;min-width:120px}.profiles-editor .contents-container .profile-header .profile-actions-container .profile-button-container .monaco-button{padding-left:10px;padding-right:10px}.profiles-editor .contents-container .profile-body{margin-top:20px}.profiles-editor .contents-container .profile-name-container{align-items:center;display:flex;margin:0 0 20px 15px;width:330px}.profiles-editor .contents-container .profile-name-container .codicon{cursor:pointer;font-size:20px;padding:2px}.profiles-editor .contents-container .profile-name-container .monaco-inputbox{flex:1;margin-left:10px}.profiles-editor .contents-container .profile-select-container{align-items:center;display:flex;justify-content:center;overflow:hidden}.profiles-editor .contents-container .profile-select-container>.monaco-select-box{border-radius:2px;cursor:pointer;line-height:17px;padding:2px 23px 2px 8px}.profiles-editor .contents-container .profile-copy-from-container{align-items:center;display:flex;margin:0 0 20px 20px}.profiles-editor .contents-container .profile-copy-from-container>.profile-copy-from-label{align-items:center;display:inline-flex;margin-right:10px}.profiles-editor .contents-container .profile-copy-from-container>.profile-select-container{width:250px}.profiles-editor .contents-container .profile-contents-container{font-size:medium;margin:0 0 10px 20px}.profiles-editor .contents-container .profile-tree-item-container{align-items:center;display:flex}.profiles-editor .contents-container .profile-tree-item-container.new-profile-resource-type-container>.profile-resource-type-label-container{width:150px}.profiles-editor .contents-container .profile-tree-item-container.new-profile-resource-type-container>.profile-select-container{width:170px}.profiles-editor .contents-container .profile-tree-item-container .profile-resource-type-description{font-size:.9em;margin-left:10px;opacity:.7}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -1,9 +1,10 @@
1
1
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
2
- import { Extensions, registerWorkbenchContribution2 } from 'vscode/vscode/vs/workbench/common/contributions';
2
+ import { Extensions, registerWorkbenchContribution2, WorkbenchPhase } from 'vscode/vscode/vs/workbench/common/contributions';
3
3
  import { UserDataProfilesWorkbenchContribution } from './userDataProfile.js';
4
+ import { LifecyclePhase } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
4
5
  import './userDataProfileActions.js';
5
6
  import { UserDataProfilePreviewContribution } from './userDataProfilePreview.js';
6
7
 
7
8
  const workbenchRegistry = ( Registry.as(Extensions.Workbench));
8
- registerWorkbenchContribution2(UserDataProfilesWorkbenchContribution.ID, UserDataProfilesWorkbenchContribution, 2 );
9
- workbenchRegistry.registerWorkbenchContribution(UserDataProfilePreviewContribution, 3 );
9
+ registerWorkbenchContribution2(UserDataProfilesWorkbenchContribution.ID, UserDataProfilesWorkbenchContribution, WorkbenchPhase.BlockRestore);
10
+ workbenchRegistry.registerWorkbenchContribution(UserDataProfilePreviewContribution, LifecyclePhase.Restored);