@codingame/monaco-vscode-edit-sessions-service-override 4.4.1 → 4.5.0
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.
- package/editSessions.js +4 -3
- package/package.json +10 -2
- package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +39 -32
- package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +2 -1
- package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +13 -12
- package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +8 -7
- package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +58 -0
- package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +4 -3
- package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +8 -8
- package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +3 -3
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.js +104 -0
- package/override/vs/platform/dialogs/common/dialogs.js +0 -10
package/editSessions.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
2
2
|
import { EditSessionsLogService } from './vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js';
|
|
3
|
-
import { IEditSessionsLogService, IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions';
|
|
3
|
+
import { IEditSessionsLogService, IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
4
4
|
import { EditSessionsWorkbenchService } from './vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { WorkspaceIdentityService } from './vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.js';
|
|
6
|
+
import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service';
|
|
7
|
+
import { IEditSessionIdentityService } from 'vscode/vscode/vs/platform/workspace/common/editSessions.service';
|
|
7
8
|
import { EditSessionIdentityService } from './vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js';
|
|
8
9
|
import './vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js';
|
|
9
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-edit-sessions-service-override",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -17,7 +17,15 @@
|
|
|
17
17
|
"main": "index.js",
|
|
18
18
|
"module": "index.js",
|
|
19
19
|
"types": "index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"default": "./index.js"
|
|
23
|
+
},
|
|
24
|
+
"./vscode/*": {
|
|
25
|
+
"default": "./vscode/src/*.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
20
28
|
"dependencies": {
|
|
21
|
-
"vscode": "npm:@codingame/monaco-vscode-api@4.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@4.5.0"
|
|
22
30
|
}
|
|
23
31
|
}
|
|
@@ -2,40 +2,45 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
|
2
2
|
import { Disposable, MutableDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
3
|
import { Extensions as Extensions$1 } from 'vscode/vscode/vs/workbench/common/contributions';
|
|
4
4
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
5
|
-
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
5
|
+
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
|
|
6
6
|
import { registerAction2, Action2, MenuRegistry, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
7
7
|
import { localize2WithPath, localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
8
|
-
import { EDIT_SESSION_SYNC_CATEGORY, EDIT_SESSIONS_SHOW_VIEW, EDIT_SESSIONS_PENDING, EDIT_SESSIONS_CONTAINER_ID, EDIT_SESSIONS_TITLE, EDIT_SESSIONS_VIEW_ICON, editSessionsLogId, EDIT_SESSIONS_DATA_VIEW_ID, hashedEditSessionId, EditSessionSchemaVersion, ChangeType, decodeEditSessionFileContent, FileType
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import { EDIT_SESSION_SYNC_CATEGORY, EDIT_SESSIONS_SHOW_VIEW, EDIT_SESSIONS_PENDING, EDIT_SESSIONS_CONTAINER_ID, EDIT_SESSIONS_TITLE, EDIT_SESSIONS_VIEW_ICON, editSessionsLogId, EDIT_SESSIONS_DATA_VIEW_ID, hashedEditSessionId, EditSessionSchemaVersion, ChangeType, decodeEditSessionFileContent, FileType } from '../common/editSessions.js';
|
|
9
|
+
import { IEditSessionsStorageService, IEditSessionsLogService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
10
|
+
import { ISCMService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm.service';
|
|
11
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
12
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
12
13
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
13
14
|
import { basename, joinPath, relativePath } from 'vscode/vscode/vs/base/common/resources';
|
|
14
15
|
import { encodeBase64 } from 'vscode/vscode/vs/base/common/buffer';
|
|
15
|
-
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
16
|
-
import { IProgressService } from 'vscode/vscode/vs/platform/progress/common/progress';
|
|
16
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
17
|
+
import { IProgressService } from 'vscode/vscode/vs/platform/progress/common/progress.service';
|
|
17
18
|
import './editSessionsStorageService.js';
|
|
18
19
|
import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
|
|
19
20
|
import { UserDataSyncStoreError } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
20
|
-
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
21
|
-
import
|
|
22
|
-
import '
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
21
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
22
|
+
import 'vscode/vscode/vs/platform/notification/common/notification';
|
|
23
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
|
|
24
|
+
import { getFileNamesMessage } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
25
|
+
import { IDialogService, IFileDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
26
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
27
|
+
import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
|
|
28
|
+
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
26
29
|
import { workbenchConfigurationNodeBase } from 'vscode/vscode/vs/workbench/common/configuration';
|
|
27
30
|
import { Extensions as Extensions$2 } from 'vscode/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
28
|
-
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
|
|
31
|
+
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
29
32
|
import { ExtensionsRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
30
|
-
import { ContextKeyExpr
|
|
31
|
-
import {
|
|
33
|
+
import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
34
|
+
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
35
|
+
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
32
36
|
import { getVirtualWorkspaceLocation } from 'vscode/vscode/vs/platform/workspace/common/virtualWorkspace';
|
|
33
37
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
34
38
|
import { IsWebContext } from 'vscode/vscode/vs/platform/contextkey/common/contextkeys';
|
|
35
|
-
import { isProposedApiEnabled
|
|
39
|
+
import { isProposedApiEnabled } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
40
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
36
41
|
import '../common/editSessionsLogService.js';
|
|
37
42
|
import { Extensions } from 'vscode/vscode/vs/workbench/common/views';
|
|
38
|
-
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService';
|
|
43
|
+
import { IViewsService } from 'vscode/vscode/vs/workbench/services/views/common/viewsService.service';
|
|
39
44
|
import { ViewPaneContainer } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
|
|
40
45
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
41
46
|
import { EditSessionsDataViews } from './editSessionsViews.js';
|
|
@@ -44,25 +49,27 @@ import { isWeb, isNative } from 'vscode/vscode/vs/base/common/platform';
|
|
|
44
49
|
import { WorkspaceFolderCountContext, VirtualWorkspaceContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
|
|
45
50
|
import { CancellationTokenSource } from 'vscode/vscode/vs/base/common/cancellation';
|
|
46
51
|
import { equals } from 'vscode/vscode/vs/base/common/objects';
|
|
47
|
-
import { EditSessionIdentityMatch
|
|
52
|
+
import { EditSessionIdentityMatch } from 'vscode/vscode/vs/platform/workspace/common/editSessions';
|
|
53
|
+
import { IEditSessionIdentityService } from 'vscode/vscode/vs/platform/workspace/common/editSessions.service';
|
|
48
54
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
49
|
-
import { IOutputService } from 'vscode/vscode/vs/workbench/services/output/common/output';
|
|
55
|
+
import { IOutputService } from 'vscode/vscode/vs/workbench/services/output/common/output.service';
|
|
50
56
|
import { sha1Hex } from '../../../../base/browser/hash.js';
|
|
51
|
-
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
52
|
-
import { NumberBadge
|
|
53
|
-
import {
|
|
57
|
+
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
58
|
+
import { NumberBadge } from 'vscode/vscode/vs/workbench/services/activity/common/activity';
|
|
59
|
+
import { IActivityService } from 'vscode/vscode/vs/workbench/services/activity/common/activity.service';
|
|
60
|
+
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
54
61
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
55
62
|
import { CancellationError } from 'vscode/vscode/vs/base/common/errors';
|
|
56
|
-
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
|
|
63
|
+
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
57
64
|
import { VIEWLET_ID } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
|
|
58
|
-
import { IPaneCompositePartService } from 'vscode/vscode/vs/workbench/services/panecomposite/browser/panecomposite';
|
|
65
|
+
import { IPaneCompositePartService } from 'vscode/vscode/vs/workbench/services/panecomposite/browser/panecomposite.service';
|
|
59
66
|
import { WorkspaceStateSynchroniser } from '../common/workspaceStateSync.js';
|
|
60
|
-
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile';
|
|
61
|
-
import { IRequestService } from 'vscode/vscode/vs/platform/request/common/request';
|
|
67
|
+
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
68
|
+
import { IRequestService } from 'vscode/vscode/vs/platform/request/common/request.service';
|
|
62
69
|
import { EditSessionsStoreClient } from '../common/editSessionsStorageClient.js';
|
|
63
|
-
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
|
|
64
|
-
import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService';
|
|
65
|
-
import
|
|
70
|
+
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
71
|
+
import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service';
|
|
72
|
+
import Severity$1 from 'vscode/vscode/vs/base/common/severity';
|
|
66
73
|
|
|
67
74
|
var EditSessionsContribution_1;
|
|
68
75
|
const continueWorkingOnCommand = {
|
|
@@ -531,7 +538,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
|
|
|
531
538
|
}
|
|
532
539
|
if (conflictingChanges.length > 0) {
|
|
533
540
|
const { confirmed } = await this.dialogService.confirm({
|
|
534
|
-
type: Severity.Warning,
|
|
541
|
+
type: Severity$1.Warning,
|
|
535
542
|
message: conflictingChanges.length > 1 ?
|
|
536
543
|
( localizeWithPath(
|
|
537
544
|
'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
|
|
@@ -599,7 +606,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
|
|
|
599
606
|
else if (match === EditSessionIdentityMatch.Partial &&
|
|
600
607
|
this.configurationService.getValue('workbench.experimental.cloudChanges.partialMatches.enabled') === true) {
|
|
601
608
|
if (!applyPartialMatch) {
|
|
602
|
-
this.notificationService.prompt(Severity.Info, ( localizeWithPath(
|
|
609
|
+
this.notificationService.prompt(Severity$1.Info, ( localizeWithPath(
|
|
603
610
|
'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
|
|
604
611
|
'editSessionPartialMatch',
|
|
605
612
|
'You have pending working changes in the cloud for this workspace. Would you like to resume them?'
|
package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js
CHANGED
|
@@ -2,7 +2,8 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
|
2
2
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
3
|
import { Event } from 'vscode/vscode/vs/base/common/event';
|
|
4
4
|
import { FileSystemProviderErrorCode, FileType, FilePermission } from 'vscode/vscode/vs/platform/files/common/files';
|
|
5
|
-
import { EDIT_SESSIONS_SCHEME, ChangeType, decodeEditSessionFileContent
|
|
5
|
+
import { EDIT_SESSIONS_SCHEME, ChangeType, decodeEditSessionFileContent } from '../common/editSessions.js';
|
|
6
|
+
import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
6
7
|
import { NotSupportedError } from 'vscode/vscode/vs/base/common/errors';
|
|
7
8
|
|
|
8
9
|
let EditSessionsFileSystemProvider = class EditSessionsFileSystemProvider {
|
|
@@ -2,25 +2,26 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
|
2
2
|
import { Disposable, DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
3
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
4
4
|
import { registerAction2, Action2, MenuId, MenuRegistry } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
5
|
-
import { ContextKeyExpr
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
5
|
+
import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
6
|
+
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
7
|
+
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
8
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
9
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
|
|
10
|
+
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
11
|
+
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
11
12
|
import { createSyncHeaders } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSync';
|
|
12
|
-
import { IAuthenticationService } from 'vscode/vscode/vs/workbench/services/authentication/common/authentication';
|
|
13
|
-
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
14
|
-
import { EDIT_SESSIONS_SIGNED_IN, EDIT_SESSIONS_PENDING_KEY, EDIT_SESSIONS_SIGNED_IN_KEY, EDIT_SESSION_SYNC_CATEGORY
|
|
15
|
-
import '
|
|
13
|
+
import { IAuthenticationService } from 'vscode/vscode/vs/workbench/services/authentication/common/authentication.service';
|
|
14
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
15
|
+
import { EDIT_SESSIONS_SIGNED_IN, EDIT_SESSIONS_PENDING_KEY, EDIT_SESSIONS_SIGNED_IN_KEY, EDIT_SESSION_SYNC_CATEGORY } from '../common/editSessions.js';
|
|
16
|
+
import { IEditSessionsLogService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
17
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
16
18
|
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
17
19
|
import { getCurrentAuthenticationSessionInfo } from 'vscode/vscode/vs/workbench/services/authentication/browser/authenticationService';
|
|
18
20
|
import { isWeb } from 'vscode/vscode/vs/base/common/platform';
|
|
19
21
|
import { UserDataSyncMachinesService } from 'vscode/vscode/vs/platform/userDataSync/common/userDataSyncMachines';
|
|
20
22
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
21
23
|
import { CancellationError } from 'vscode/vscode/vs/base/common/errors';
|
|
22
|
-
import { ISecretStorageService } from 'vscode/vscode/vs/platform/secrets/common/secrets';
|
|
23
|
-
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
24
|
+
import { ISecretStorageService } from 'vscode/vscode/vs/platform/secrets/common/secrets.service';
|
|
24
25
|
|
|
25
26
|
var EditSessionsWorkbenchService_1;
|
|
26
27
|
let EditSessionsWorkbenchService = class EditSessionsWorkbenchService extends Disposable {
|
|
@@ -6,20 +6,21 @@ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/c
|
|
|
6
6
|
import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
|
|
7
7
|
import { TreeView, TreeViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/treeView';
|
|
8
8
|
import { Extensions, TreeItemCollapsibleState } from 'vscode/vscode/vs/workbench/common/views';
|
|
9
|
-
import {
|
|
9
|
+
import { EDIT_SESSIONS_DATA_VIEW_ID, EDIT_SESSIONS_TITLE, EDIT_SESSIONS_SHOW_VIEW, EDIT_SESSIONS_SCHEME, ChangeType } from '../common/editSessions.js';
|
|
10
|
+
import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
10
11
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
11
12
|
import { fromNow } from 'vscode/vscode/vs/base/common/date';
|
|
12
13
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
13
14
|
import { API_OPEN_EDITOR_COMMAND_ID } from 'vscode/vscode/vs/workbench/browser/parts/editor/editorCommands';
|
|
14
15
|
import { registerAction2, Action2, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
15
|
-
import { RawContextKey,
|
|
16
|
-
import {
|
|
17
|
-
import '
|
|
18
|
-
import {
|
|
16
|
+
import { RawContextKey, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
17
|
+
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
18
|
+
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
19
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
|
|
20
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
19
21
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
20
|
-
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
|
|
22
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
21
23
|
import { basename } from 'vscode/vscode/vs/base/common/path';
|
|
22
|
-
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
23
24
|
|
|
24
25
|
const EDIT_SESSIONS_COUNT_KEY = 'editSessionsCount';
|
|
25
26
|
const EDIT_SESSIONS_COUNT_CONTEXT_KEY = ( new RawContextKey(EDIT_SESSIONS_COUNT_KEY, 0));
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { decodeBase64, VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
|
|
2
|
+
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
3
|
+
import { localize2WithPath, localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
4
|
+
import { RawContextKey } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
|
|
5
|
+
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
6
|
+
import { StringSHA1 } from 'vscode/vscode/vs/base/common/hash';
|
|
7
|
+
|
|
8
|
+
const EDIT_SESSION_SYNC_CATEGORY = ( localize2WithPath(
|
|
9
|
+
'vs/workbench/contrib/editSessions/common/editSessions',
|
|
10
|
+
'cloud changes',
|
|
11
|
+
'Cloud Changes'
|
|
12
|
+
));
|
|
13
|
+
var ChangeType;
|
|
14
|
+
( (function(ChangeType) {
|
|
15
|
+
ChangeType[ChangeType["Addition"] = 1] = "Addition";
|
|
16
|
+
ChangeType[ChangeType["Deletion"] = 2] = "Deletion";
|
|
17
|
+
})(ChangeType || (ChangeType = {})));
|
|
18
|
+
var FileType;
|
|
19
|
+
( (function(FileType) {
|
|
20
|
+
FileType[FileType["File"] = 1] = "File";
|
|
21
|
+
})(FileType || (FileType = {})));
|
|
22
|
+
const EditSessionSchemaVersion = 3;
|
|
23
|
+
const EDIT_SESSIONS_SIGNED_IN_KEY = 'editSessionsSignedIn';
|
|
24
|
+
const EDIT_SESSIONS_SIGNED_IN = ( new RawContextKey(EDIT_SESSIONS_SIGNED_IN_KEY, false));
|
|
25
|
+
const EDIT_SESSIONS_PENDING_KEY = 'editSessionsPending';
|
|
26
|
+
const EDIT_SESSIONS_PENDING = ( new RawContextKey(EDIT_SESSIONS_PENDING_KEY, false));
|
|
27
|
+
const EDIT_SESSIONS_CONTAINER_ID = 'workbench.view.editSessions';
|
|
28
|
+
const EDIT_SESSIONS_DATA_VIEW_ID = 'workbench.views.editSessions.data';
|
|
29
|
+
const EDIT_SESSIONS_TITLE = ( localize2WithPath(
|
|
30
|
+
'vs/workbench/contrib/editSessions/common/editSessions',
|
|
31
|
+
'cloud changes',
|
|
32
|
+
'Cloud Changes'
|
|
33
|
+
));
|
|
34
|
+
const EDIT_SESSIONS_VIEW_ICON = registerIcon('edit-sessions-view-icon', Codicon.cloudDownload, ( localizeWithPath(
|
|
35
|
+
'vs/workbench/contrib/editSessions/common/editSessions',
|
|
36
|
+
'editSessionViewIcon',
|
|
37
|
+
'View icon of the cloud changes view.'
|
|
38
|
+
)));
|
|
39
|
+
const EDIT_SESSIONS_SHOW_VIEW = ( new RawContextKey('editSessionsShowView', false));
|
|
40
|
+
const EDIT_SESSIONS_SCHEME = 'vscode-edit-sessions';
|
|
41
|
+
function decodeEditSessionFileContent(version, content) {
|
|
42
|
+
switch (version) {
|
|
43
|
+
case 1:
|
|
44
|
+
return VSBuffer.fromString(content);
|
|
45
|
+
case 2:
|
|
46
|
+
return decodeBase64(content);
|
|
47
|
+
default:
|
|
48
|
+
throw new Error('Upgrade to a newer version to decode this content.');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function hashedEditSessionId(editSessionId) {
|
|
52
|
+
const sha1 = ( new StringSHA1());
|
|
53
|
+
sha1.update(editSessionId);
|
|
54
|
+
return sha1.digest();
|
|
55
|
+
}
|
|
56
|
+
const editSessionsLogId = 'editSessions';
|
|
57
|
+
|
|
58
|
+
export { ChangeType, EDIT_SESSIONS_CONTAINER_ID, EDIT_SESSIONS_DATA_VIEW_ID, EDIT_SESSIONS_PENDING, EDIT_SESSIONS_PENDING_KEY, EDIT_SESSIONS_SCHEME, EDIT_SESSIONS_SHOW_VIEW, EDIT_SESSIONS_SIGNED_IN, EDIT_SESSIONS_SIGNED_IN_KEY, EDIT_SESSIONS_TITLE, EDIT_SESSIONS_VIEW_ICON, EDIT_SESSION_SYNC_CATEGORY, EditSessionSchemaVersion, FileType, decodeEditSessionFileContent, editSessionsLogId, hashedEditSessionId };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
3
3
|
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
4
|
-
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
5
|
+
import { AbstractLogger } from 'vscode/vscode/vs/platform/log/common/log';
|
|
6
|
+
import { ILoggerService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
7
|
+
import { editSessionsLogId } from './editSessions.js';
|
|
7
8
|
|
|
8
9
|
let EditSessionsLogService = class EditSessionsLogService extends AbstractLogger {
|
|
9
10
|
constructor(loggerService, environmentService) {
|
|
@@ -2,15 +2,15 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
|
2
2
|
import { CancellationTokenSource } from 'vscode/vscode/vs/base/common/cancellation';
|
|
3
3
|
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
4
4
|
import { stringify, parse } from 'vscode/vscode/vs/base/common/marshalling';
|
|
5
|
-
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
6
|
-
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment';
|
|
7
|
-
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
|
|
8
|
-
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
9
|
-
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
10
|
-
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
|
|
5
|
+
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
6
|
+
import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment.service';
|
|
7
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
|
|
8
|
+
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
9
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
10
|
+
import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
11
11
|
import { AbstractSynchroniser } from 'vscode/vscode/vs/platform/userDataSync/common/abstractSynchronizer';
|
|
12
|
-
import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions';
|
|
13
|
-
import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService';
|
|
12
|
+
import { IEditSessionsStorageService } from 'vscode/vscode/vs/workbench/contrib/editSessions/common/editSessions.service';
|
|
13
|
+
import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/workspaces/common/workspaceIdentityService.service';
|
|
14
14
|
|
|
15
15
|
class NullBackupStoreService {
|
|
16
16
|
async writeResource() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
2
|
import { insert } from 'vscode/vscode/vs/base/common/arrays';
|
|
3
3
|
import { toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
4
|
-
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
5
|
-
import 'vscode/vscode/vs/platform/
|
|
6
|
-
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
4
|
+
import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
|
|
5
|
+
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
6
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
7
7
|
|
|
8
8
|
let EditSessionIdentityService = class EditSessionIdentityService {
|
|
9
9
|
constructor(_extensionService, _logService) {
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
|
+
import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
|
|
3
|
+
import { isEqualOrParent, relativePath, joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
4
|
+
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
5
|
+
import { EditSessionIdentityMatch } from 'vscode/vscode/vs/platform/workspace/common/editSessions';
|
|
6
|
+
import { IEditSessionIdentityService } from 'vscode/vscode/vs/platform/workspace/common/editSessions.service';
|
|
7
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
8
|
+
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
9
|
+
|
|
10
|
+
let WorkspaceIdentityService = class WorkspaceIdentityService {
|
|
11
|
+
constructor(workspaceContextService, editSessionIdentityService) {
|
|
12
|
+
this.workspaceContextService = workspaceContextService;
|
|
13
|
+
this.editSessionIdentityService = editSessionIdentityService;
|
|
14
|
+
}
|
|
15
|
+
async getWorkspaceStateFolders(cancellationToken) {
|
|
16
|
+
const workspaceStateFolders = [];
|
|
17
|
+
for (const workspaceFolder of this.workspaceContextService.getWorkspace().folders) {
|
|
18
|
+
const workspaceFolderIdentity = await this.editSessionIdentityService.getEditSessionIdentifier(workspaceFolder, cancellationToken);
|
|
19
|
+
if (!workspaceFolderIdentity) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
workspaceStateFolders.push({ resourceUri: ( workspaceFolder.uri.toString()), workspaceFolderIdentity });
|
|
23
|
+
}
|
|
24
|
+
return workspaceStateFolders;
|
|
25
|
+
}
|
|
26
|
+
async matches(incomingWorkspaceFolders, cancellationToken) {
|
|
27
|
+
const incomingToCurrentWorkspaceFolderUris = {};
|
|
28
|
+
const incomingIdentitiesToIncomingWorkspaceFolders = {};
|
|
29
|
+
for (const workspaceFolder of incomingWorkspaceFolders) {
|
|
30
|
+
incomingIdentitiesToIncomingWorkspaceFolders[workspaceFolder.workspaceFolderIdentity] = workspaceFolder.resourceUri;
|
|
31
|
+
}
|
|
32
|
+
const currentWorkspaceFoldersToIdentities = ( new Map());
|
|
33
|
+
for (const workspaceFolder of this.workspaceContextService.getWorkspace().folders) {
|
|
34
|
+
const workspaceFolderIdentity = await this.editSessionIdentityService.getEditSessionIdentifier(workspaceFolder, cancellationToken);
|
|
35
|
+
if (!workspaceFolderIdentity) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
currentWorkspaceFoldersToIdentities.set(workspaceFolder, workspaceFolderIdentity);
|
|
39
|
+
}
|
|
40
|
+
for (const [currentWorkspaceFolder, currentWorkspaceFolderIdentity] of currentWorkspaceFoldersToIdentities.entries()) {
|
|
41
|
+
const incomingWorkspaceFolder = incomingIdentitiesToIncomingWorkspaceFolders[currentWorkspaceFolderIdentity];
|
|
42
|
+
if (incomingWorkspaceFolder) {
|
|
43
|
+
incomingToCurrentWorkspaceFolderUris[incomingWorkspaceFolder] = ( currentWorkspaceFolder.uri.toString());
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
let hasCompleteMatch = false;
|
|
47
|
+
for (const [incomingIdentity, incomingFolder] of Object.entries(incomingIdentitiesToIncomingWorkspaceFolders)) {
|
|
48
|
+
if ((await this.editSessionIdentityService.provideEditSessionIdentityMatch(currentWorkspaceFolder, currentWorkspaceFolderIdentity, incomingIdentity, cancellationToken)) === EditSessionIdentityMatch.Complete) {
|
|
49
|
+
incomingToCurrentWorkspaceFolderUris[incomingFolder] = ( currentWorkspaceFolder.uri.toString());
|
|
50
|
+
hasCompleteMatch = true;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (hasCompleteMatch) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const convertUri = (uriToConvert) => {
|
|
60
|
+
for (const incomingFolderUriKey of ( Object.keys(incomingToCurrentWorkspaceFolderUris))) {
|
|
61
|
+
const incomingFolderUri = ( URI.parse(incomingFolderUriKey));
|
|
62
|
+
if (isEqualOrParent(incomingFolderUri, uriToConvert)) {
|
|
63
|
+
const currentWorkspaceFolderUri = incomingToCurrentWorkspaceFolderUris[incomingFolderUriKey];
|
|
64
|
+
const relativeFilePath = relativePath(incomingFolderUri, uriToConvert);
|
|
65
|
+
if (relativeFilePath) {
|
|
66
|
+
return joinPath(( URI.parse(currentWorkspaceFolderUri)), relativeFilePath);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return uriToConvert;
|
|
71
|
+
};
|
|
72
|
+
const uriReplacer = (obj, depth = 0) => {
|
|
73
|
+
if (!obj || depth > 200) {
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
76
|
+
if (obj instanceof VSBuffer || obj instanceof Uint8Array) {
|
|
77
|
+
return obj;
|
|
78
|
+
}
|
|
79
|
+
if (URI.isUri(obj)) {
|
|
80
|
+
return convertUri(obj);
|
|
81
|
+
}
|
|
82
|
+
if (Array.isArray(obj)) {
|
|
83
|
+
for (let i = 0; i < obj.length; ++i) {
|
|
84
|
+
obj[i] = uriReplacer(obj[i], depth + 1);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
for (const key in obj) {
|
|
89
|
+
if (Object.hasOwnProperty.call(obj, key)) {
|
|
90
|
+
obj[key] = uriReplacer(obj[key], depth + 1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return obj;
|
|
95
|
+
};
|
|
96
|
+
return uriReplacer;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
WorkspaceIdentityService = ( __decorate([
|
|
100
|
+
( __param(0, IWorkspaceContextService)),
|
|
101
|
+
( __param(1, IEditSessionIdentityService))
|
|
102
|
+
], WorkspaceIdentityService));
|
|
103
|
+
|
|
104
|
+
export { WorkspaceIdentityService };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { AbstractDialogHandler, IDialogService, IFileDialogService, getFileNamesMessage } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
2
|
-
|
|
3
|
-
var ConfirmResult;
|
|
4
|
-
( (function(ConfirmResult) {
|
|
5
|
-
ConfirmResult[ConfirmResult["SAVE"] = 0] = "SAVE";
|
|
6
|
-
ConfirmResult[ConfirmResult["DONT_SAVE"] = 1] = "DONT_SAVE";
|
|
7
|
-
ConfirmResult[ConfirmResult["CANCEL"] = 2] = "CANCEL";
|
|
8
|
-
})(ConfirmResult || (ConfirmResult = {})));
|
|
9
|
-
|
|
10
|
-
export { ConfirmResult };
|