@codingame/monaco-vscode-multi-diff-editor-service-override 4.5.2 → 5.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-multi-diff-editor-service-override",
3
- "version": "4.5.2",
3
+ "version": "5.0.1",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -26,6 +26,6 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@4.5.2"
29
+ "vscode": "npm:@codingame/monaco-vscode-api@5.0.1"
30
30
  }
31
31
  }
@@ -9,10 +9,9 @@ import { EditorExtensions } from 'vscode/vscode/vs/workbench/common/editor';
9
9
  import { MultiDiffEditor } from './multiDiffEditor.js';
10
10
  import { MultiDiffEditorResolverContribution, MultiDiffEditorInput, MultiDiffEditorSerializer } from 'vscode/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput';
11
11
  import { GoToFileAction, CollapseAllAction, ExpandAllAction } from './actions.js';
12
- import 'vscode/vscode/vs/base/common/event';
13
12
  import 'vscode/vscode/vs/base/common/lifecycle';
14
13
  import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
15
- import { OpenScmGroupAction, ScmMultiDiffSourceResolverContribution } from './scmMultiDiffSourceResolver.js';
14
+ import { OpenScmGroupAction, ScmMultiDiffSourceResolverContribution } from 'vscode/vscode/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver';
16
15
 
17
16
  const _moduleId = "vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.contribution";
18
17
  registerAction2(GoToFileAction);
@@ -1,148 +0,0 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
3
- import { Event } from 'vscode/vscode/vs/base/common/event';
4
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
- import 'vscode/vscode/vs/base/common/observableInternal/derived';
6
- import 'vscode/vscode/vs/base/common/observableInternal/autorun';
7
- import { observableFromEvent } from 'vscode/vscode/vs/base/common/observableInternal/utils';
8
- import 'vscode/vscode/vs/base/common/cancellation';
9
- import { URI } from 'vscode/vscode/vs/base/common/uri';
10
- import { localize2WithPath, localizeWithPath } from 'vscode/vscode/vs/nls';
11
- import { Action2, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
12
- import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
13
- import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
14
- import { IMultiDiffSourceResolverService } from 'vscode/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service';
15
- import { ISCMService } from 'vscode/vscode/vs/workbench/contrib/scm/common/scm.service';
16
- import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
17
-
18
- var ScmMultiDiffSourceResolver_1;
19
- const _moduleId = "vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver";
20
- let ScmMultiDiffSourceResolver = class ScmMultiDiffSourceResolver {
21
- static { ScmMultiDiffSourceResolver_1 = this; }
22
- static { this._scheme = 'scm-multi-diff-source'; }
23
- static getMultiDiffSourceUri(repositoryUri, groupId) {
24
- return (
25
- (URI.from({
26
- scheme: ScmMultiDiffSourceResolver_1._scheme,
27
- query: JSON.stringify({ repositoryUri, groupId }),
28
- }))
29
- );
30
- }
31
- static parseUri(uri) {
32
- if (uri.scheme !== ScmMultiDiffSourceResolver_1._scheme) {
33
- return undefined;
34
- }
35
- let query;
36
- try {
37
- query = JSON.parse(uri.query);
38
- }
39
- catch (e) {
40
- return undefined;
41
- }
42
- if (typeof query !== 'object' || query === null) {
43
- return undefined;
44
- }
45
- const { repositoryUri, groupId } = query;
46
- if (typeof repositoryUri !== 'string' || typeof groupId !== 'string') {
47
- return undefined;
48
- }
49
- return { repositoryUri: ( (URI.parse(repositoryUri))), groupId };
50
- }
51
- constructor(_scmService) {
52
- this._scmService = _scmService;
53
- }
54
- canHandleUri(uri) {
55
- return ScmMultiDiffSourceResolver_1.parseUri(uri) !== undefined;
56
- }
57
- async resolveDiffSource(uri) {
58
- const { repositoryUri, groupId } = ScmMultiDiffSourceResolver_1.parseUri(uri);
59
- const repository = await promiseFromEventState(this._scmService.onDidAddRepository, () => {
60
- const repository = [...this._scmService.repositories].find(r => r.provider.rootUri?.toString() === ( (repositoryUri.toString())));
61
- return repository ?? false;
62
- });
63
- const group = await promiseFromEventState(repository.provider.onDidChangeResourceGroups, () => {
64
- const group = repository.provider.groups.find(g => g.id === groupId);
65
- return group ?? false;
66
- });
67
- const resources = observableFromEvent(group.onDidChangeResources, () => ( (group.resources.map(e => {
68
- return {
69
- original: e.multiDiffEditorOriginalUri,
70
- modified: e.multiDiffEditorModifiedUri
71
- };
72
- }))));
73
- return (
74
- (new ScmResolvedMultiDiffSource(resources, {
75
- scmResourceGroup: groupId,
76
- scmProvider: repository.provider.contextValue,
77
- }))
78
- );
79
- }
80
- };
81
- ScmMultiDiffSourceResolver = ScmMultiDiffSourceResolver_1 = ( (__decorate([
82
- ( (__param(0, ISCMService)))
83
- ], ScmMultiDiffSourceResolver)));
84
- class ScmResolvedMultiDiffSource {
85
- get resources() { return this._resources.get(); }
86
- constructor(_resources, contextKeys) {
87
- this._resources = _resources;
88
- this.contextKeys = contextKeys;
89
- this.onDidChange = Event.fromObservableLight(this._resources);
90
- }
91
- }
92
- function promiseFromEventState(event, checkState) {
93
- const state = checkState();
94
- if (state) {
95
- return Promise.resolve(state);
96
- }
97
- return (
98
- (new Promise(resolve => {
99
- const listener = event(() => {
100
- const state = checkState();
101
- if (state) {
102
- listener.dispose();
103
- resolve(state);
104
- }
105
- });
106
- }))
107
- );
108
- }
109
- let ScmMultiDiffSourceResolverContribution = class ScmMultiDiffSourceResolverContribution extends Disposable {
110
- static { this.ID = 'workbench.contrib.scmMultiDiffSourceResolver'; }
111
- constructor(instantiationService, multiDiffSourceResolverService) {
112
- super();
113
- this._register(multiDiffSourceResolverService.registerResolver(instantiationService.createInstance(ScmMultiDiffSourceResolver)));
114
- }
115
- };
116
- ScmMultiDiffSourceResolverContribution = ( (__decorate([
117
- ( (__param(0, IInstantiationService))),
118
- ( (__param(1, IMultiDiffSourceResolverService)))
119
- ], ScmMultiDiffSourceResolverContribution)));
120
- class OpenScmGroupAction extends Action2 {
121
- constructor() {
122
- super({
123
- id: 'multiDiffEditor.openScmDiff',
124
- title: ( localize2WithPath(_moduleId, 0, 'View Changes')),
125
- icon: Codicon.diffMultiple,
126
- menu: {
127
- when: ( (ContextKeyExpr.and(
128
- (ContextKeyExpr.has('config.multiDiffEditor.experimental.enabled')),
129
- (ContextKeyExpr.has('multiDiffEditorEnableViewChanges'))
130
- ))),
131
- id: MenuId.SCMResourceGroupContext,
132
- group: 'inline',
133
- },
134
- f1: false,
135
- });
136
- }
137
- async run(accessor, group) {
138
- const editorService = accessor.get(IEditorService);
139
- if (!group.provider.rootUri) {
140
- return;
141
- }
142
- const multiDiffSource = ScmMultiDiffSourceResolver.getMultiDiffSourceUri(( (group.provider.rootUri.toString())), group.id);
143
- const label = ( localizeWithPath(_moduleId, 1, '{0}: {1}', group.provider.label, group.label));
144
- await editorService.openEditor({ label, multiDiffSource });
145
- }
146
- }
147
-
148
- export { OpenScmGroupAction, ScmMultiDiffSourceResolver, ScmMultiDiffSourceResolverContribution };