@codingame/monaco-vscode-extensions-service-override 37.2.0 → 37.3.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/package.json +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +37 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +31 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +8 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +3 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +10 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +12 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +15 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +7 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +12 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +13 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +14 -12
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +25 -25
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +37 -32
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -10
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +55 -45
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +4 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +4 -2
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
|
@@ -73,7 +73,7 @@ let MainThreadLanguages = class MainThreadLanguages extends Disposable {
|
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
async $computeFullSyntaxHighlighting(source, languageId) {
|
|
76
|
-
const colorMap = (
|
|
76
|
+
const colorMap = (TokenizationRegistry.getColorMap() ?? []).map(c => c ? Color.Format.CSS.formatHexA(c) : "");
|
|
77
77
|
const resolvedLanguageId = this._languageService.isRegisteredLanguageId(languageId) ? languageId : this._languageService.getLanguageIdByLanguageName(languageId);
|
|
78
78
|
const grammar = resolvedLanguageId ? await this._textMateService.createTokenizer(resolvedLanguageId) : null;
|
|
79
79
|
if (!grammar) {
|
|
@@ -47,7 +47,7 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
47
47
|
}
|
|
48
48
|
_showMessage(severity, message, commands, options) {
|
|
49
49
|
return (new Promise(resolve => {
|
|
50
|
-
const primaryActions =
|
|
50
|
+
const primaryActions = commands.map(command => toAction({
|
|
51
51
|
id: `_extension_message_handle_${command.handle}`,
|
|
52
52
|
label: command.title,
|
|
53
53
|
enabled: true,
|
|
@@ -55,7 +55,7 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
55
55
|
resolve(command.handle);
|
|
56
56
|
return Promise.resolve();
|
|
57
57
|
}
|
|
58
|
-
}))
|
|
58
|
+
}));
|
|
59
59
|
let source;
|
|
60
60
|
let sourceIsUrgent = false;
|
|
61
61
|
if (options.source) {
|
|
@@ -66,13 +66,13 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
66
66
|
sourceIsUrgent = MainThreadMessageService_1.URGENT_NOTIFICATION_SOURCES.includes(source.id);
|
|
67
67
|
}
|
|
68
68
|
if (!source) {
|
|
69
|
-
source = ( localize(
|
|
69
|
+
source = ( localize(4998, "Extension"));
|
|
70
70
|
}
|
|
71
71
|
const secondaryActions = [];
|
|
72
72
|
if (options.source) {
|
|
73
73
|
secondaryActions.push(toAction({
|
|
74
74
|
id: options.source.identifier.value,
|
|
75
|
-
label: ( localize(
|
|
75
|
+
label: ( localize(4999, "Manage Extension")),
|
|
76
76
|
run: () => {
|
|
77
77
|
return this._commandService.executeCommand("_extensions.manage", options.source.identifier.value);
|
|
78
78
|
}
|
|
@@ -111,12 +111,12 @@ let MainThreadMessageService = class MainThreadMessageService {
|
|
|
111
111
|
if (!cancelButton) {
|
|
112
112
|
if (buttons.length > 0) {
|
|
113
113
|
cancelButton = {
|
|
114
|
-
label: ( localize(
|
|
114
|
+
label: ( localize(5000, "Cancel")),
|
|
115
115
|
run: () => undefined
|
|
116
116
|
};
|
|
117
117
|
} else {
|
|
118
118
|
cancelButton = {
|
|
119
|
-
label: ( localize(
|
|
119
|
+
label: ( localize(5001, "&&OK")),
|
|
120
120
|
run: () => undefined
|
|
121
121
|
};
|
|
122
122
|
}
|
|
@@ -94,11 +94,11 @@ let MainThreadOutputService = class MainThreadOutputService extends Disposable {
|
|
|
94
94
|
}
|
|
95
95
|
_showChannelQuietly(channel) {
|
|
96
96
|
const statusProperties = {
|
|
97
|
-
name: ( localize(
|
|
97
|
+
name: ( localize(5003, "Show Output")),
|
|
98
98
|
text: "$(output)",
|
|
99
|
-
ariaLabel: ( localize(
|
|
99
|
+
ariaLabel: ( localize(5004, "Show {0} Output Channel", channel.label)),
|
|
100
100
|
command: `workbench.action.output.show.${channel.id}`,
|
|
101
|
-
tooltip: ( localize(
|
|
101
|
+
tooltip: ( localize(5005, "Show {0} Output Channel", channel.label)),
|
|
102
102
|
kind: "prominent"
|
|
103
103
|
};
|
|
104
104
|
if (!this._outputStatusItem.value) {
|
|
@@ -38,7 +38,7 @@ let MainThreadProgress = class MainThreadProgress {
|
|
|
38
38
|
location: ProgressLocation.Notification,
|
|
39
39
|
secondaryActions: [toAction({
|
|
40
40
|
id: extensionId,
|
|
41
|
-
label: ( localize(
|
|
41
|
+
label: ( localize(5006, "Manage Extension")),
|
|
42
42
|
run: () => this._commandService.executeCommand("_extensions.manage", extensionId)
|
|
43
43
|
})]
|
|
44
44
|
};
|
|
@@ -62,12 +62,12 @@ let MainThreadQuickDiff = class MainThreadQuickDiff {
|
|
|
62
62
|
this.proxy.$acceptSourceControlDiffInformation(handle, undefined);
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
const changes =
|
|
65
|
+
const changes = primaryResult.changes2.map(change => [
|
|
66
66
|
change.original.startLineNumber,
|
|
67
67
|
change.original.endLineNumberExclusive,
|
|
68
68
|
change.modified.startLineNumber,
|
|
69
69
|
change.modified.endLineNumberExclusive
|
|
70
|
-
])
|
|
70
|
+
]);
|
|
71
71
|
const diffInformation = {
|
|
72
72
|
documentVersion: model.changesVersionId,
|
|
73
73
|
original: primaryResult.original,
|
|
@@ -56,7 +56,7 @@ let MainThreadQuickOpen = class MainThreadQuickOpen {
|
|
|
56
56
|
if (options.canPickMany) {
|
|
57
57
|
return this._quickInputService.pick(contents, options, token).then(items => {
|
|
58
58
|
if (items) {
|
|
59
|
-
return
|
|
59
|
+
return items.map(item => item.handle);
|
|
60
60
|
}
|
|
61
61
|
return undefined;
|
|
62
62
|
});
|
|
@@ -124,10 +124,10 @@ let MainThreadQuickOpen = class MainThreadQuickOpen {
|
|
|
124
124
|
if (params.type === "quickPick") {
|
|
125
125
|
const quickPick = input;
|
|
126
126
|
store.add(quickPick.onDidChangeActive(items => {
|
|
127
|
-
this._proxy.$onDidChangeActive(sessionId,
|
|
127
|
+
this._proxy.$onDidChangeActive(sessionId, items.map(item => item.handle));
|
|
128
128
|
}));
|
|
129
129
|
store.add(quickPick.onDidChangeSelection(items => {
|
|
130
|
-
this._proxy.$onDidChangeSelection(sessionId,
|
|
130
|
+
this._proxy.$onDidChangeSelection(sessionId, items.map(item => item.handle));
|
|
131
131
|
}));
|
|
132
132
|
store.add(quickPick.onDidTriggerItemButton(e => {
|
|
133
133
|
const transferButton = e.button;
|
|
@@ -296,9 +296,9 @@ class MainThreadSCMHistoryProvider {
|
|
|
296
296
|
});
|
|
297
297
|
}
|
|
298
298
|
$onDidChangeHistoryItemRefs(historyItemRefs) {
|
|
299
|
-
const added =
|
|
300
|
-
const modified =
|
|
301
|
-
const removed =
|
|
299
|
+
const added = historyItemRefs.added.map(ref => toISCMHistoryItemRef(ref));
|
|
300
|
+
const modified = historyItemRefs.modified.map(ref => toISCMHistoryItemRef(ref));
|
|
301
|
+
const removed = historyItemRefs.removed.map(ref => toISCMHistoryItemRef(ref));
|
|
302
302
|
this._historyItemRefChanges.set({
|
|
303
303
|
added,
|
|
304
304
|
modified,
|
|
@@ -482,7 +482,7 @@ class MainThreadSCMProvider {
|
|
|
482
482
|
}
|
|
483
483
|
}
|
|
484
484
|
$registerGroups(_groups) {
|
|
485
|
-
const groups =
|
|
485
|
+
const groups = _groups.map(([handle, id, label, features, multiDiffEditorEnableViewChanges]) => {
|
|
486
486
|
const group = ( new MainThreadSCMResourceGroup(
|
|
487
487
|
this.handle,
|
|
488
488
|
handle,
|
|
@@ -495,7 +495,7 @@ class MainThreadSCMProvider {
|
|
|
495
495
|
));
|
|
496
496
|
this._groupsByHandle[handle] = group;
|
|
497
497
|
return group;
|
|
498
|
-
})
|
|
498
|
+
});
|
|
499
499
|
this.groups.splice(this.groups.length, 0, ...groups);
|
|
500
500
|
this._onDidChangeResourceGroups.fire();
|
|
501
501
|
}
|
|
@@ -522,7 +522,7 @@ class MainThreadSCMProvider {
|
|
|
522
522
|
}
|
|
523
523
|
groupSlices.reverse();
|
|
524
524
|
for (const [start, deleteCount, rawResources] of groupSlices) {
|
|
525
|
-
const resources =
|
|
525
|
+
const resources = rawResources.map(rawResource => {
|
|
526
526
|
const [
|
|
527
527
|
handle,
|
|
528
528
|
sourceUri,
|
|
@@ -558,7 +558,7 @@ class MainThreadSCMProvider {
|
|
|
558
558
|
URI.revive(multiDiffEditorOriginalUri),
|
|
559
559
|
URI.revive(multiDiffEditorModifiedUri)
|
|
560
560
|
));
|
|
561
|
-
})
|
|
561
|
+
});
|
|
562
562
|
group.splice(start, deleteCount, resources);
|
|
563
563
|
}
|
|
564
564
|
}
|
|
@@ -17,7 +17,7 @@ class ExtHostSaveParticipant {
|
|
|
17
17
|
return undefined;
|
|
18
18
|
}
|
|
19
19
|
const p = ( new Promise((resolve, reject) => {
|
|
20
|
-
setTimeout(() => reject(( new Error(( localize(
|
|
20
|
+
setTimeout(() => reject(( new Error(( localize(5007, "Aborted onWillSaveTextDocument-event after 1750ms"))))), 1750);
|
|
21
21
|
this._proxy.$participateInSave(editorModel.resource, context.reason).then(values => {
|
|
22
22
|
if (!values.every(success => success)) {
|
|
23
23
|
return Promise.reject(( new Error("listener failed")));
|
|
@@ -72,13 +72,13 @@ let MainThreadSecretState = class MainThreadSecretState extends Disposable {
|
|
|
72
72
|
throw ( new Error("Secret storage service does not support keys() method"));
|
|
73
73
|
}
|
|
74
74
|
const allKeys = await ( this.secretStorageService.keys());
|
|
75
|
-
const keys =
|
|
75
|
+
const keys = allKeys.map(key => this.parseKey(key)).filter(
|
|
76
76
|
parsedKey => parsedKey !== undefined && parsedKey.extensionId === extensionId
|
|
77
77
|
).map((
|
|
78
78
|
{
|
|
79
79
|
key
|
|
80
80
|
}
|
|
81
|
-
) => key)
|
|
81
|
+
) => key);
|
|
82
82
|
this.logService.trace(`[mainThreadSecretState] Got ${keys.length}key(s) for: `, extensionId);
|
|
83
83
|
return keys;
|
|
84
84
|
}
|
|
@@ -157,7 +157,7 @@ var ProcessExecutionDTO;
|
|
|
157
157
|
ProcessExecutionDTO.is = is;
|
|
158
158
|
function from(value) {
|
|
159
159
|
const process = isString(value.name) ? value.name : value.name.value;
|
|
160
|
-
const args = value.args ?
|
|
160
|
+
const args = value.args ? value.args.map(value => isString(value) ? value : value.value) : [];
|
|
161
161
|
const result = {
|
|
162
162
|
process: process,
|
|
163
163
|
args: args
|
|
@@ -397,7 +397,7 @@ var TaskDTO;
|
|
|
397
397
|
}
|
|
398
398
|
command.presentation = TaskPresentationOptionsDTO.to(task.presentationOptions);
|
|
399
399
|
const source = TaskSourceDTO.to(task.source, workspace);
|
|
400
|
-
const label = ( localize(
|
|
400
|
+
const label = ( localize(5008, "{0}: {1}", source.label, task.name));
|
|
401
401
|
const definition = TaskDefinitionDTO.to(task.definition, executeOnly);
|
|
402
402
|
const id = (CustomExecutionDTO.is(task.execution) && task._id) ? task._id : `${task.source.extensionId}.${definition._key}`;
|
|
403
403
|
const result = ( new ContributedTask(
|
|
@@ -11,7 +11,7 @@ import { IEnvironmentVariableService } from "@codingame/monaco-vscode-api/vscode
|
|
|
11
11
|
import { ITerminalProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal.service";
|
|
12
12
|
import { ITerminalProfileResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal.service";
|
|
13
13
|
import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
|
|
14
|
-
import { ISerializableEnvironmentDescriptionMap, ISerializableEnvironmentVariableCollection } from "@codingame/monaco-vscode-
|
|
14
|
+
import { ISerializableEnvironmentDescriptionMap, ISerializableEnvironmentVariableCollection } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/environmentVariable";
|
|
15
15
|
import { ITerminalLinkProviderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/links/browser/links.service";
|
|
16
16
|
import { ITerminalQuickFixService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service";
|
|
17
17
|
import { ITerminalCompletionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service";
|
|
@@ -111,9 +111,9 @@ let MainThreadTerminalService = class MainThreadTerminalService extends Disposab
|
|
|
111
111
|
}
|
|
112
112
|
if (this._environmentVariableService.collections.size > 0) {
|
|
113
113
|
const collectionAsArray = [...this._environmentVariableService.collections.entries()];
|
|
114
|
-
const serializedCollections =
|
|
114
|
+
const serializedCollections = collectionAsArray.map(e => {
|
|
115
115
|
return [e[0], serializeEnvironmentVariableCollection(e[1].map)];
|
|
116
|
-
})
|
|
116
|
+
});
|
|
117
117
|
this._proxy.$initEnvironmentVariableCollections(serializedCollections);
|
|
118
118
|
}
|
|
119
119
|
remoteAgentService.getEnvironment().then(async env => {
|
|
@@ -351,7 +351,7 @@ let MainThreadTerminalService = class MainThreadTerminalService extends Disposab
|
|
|
351
351
|
if (matchResult) {
|
|
352
352
|
const result = await this._proxy.$provideTerminalQuickFixes(id, matchResult, token);
|
|
353
353
|
if (result && Array.isArray(result)) {
|
|
354
|
-
return
|
|
354
|
+
return result.map(r => parseQuickFix(id, extensionId, r));
|
|
355
355
|
} else if (result) {
|
|
356
356
|
return parseQuickFix(id, extensionId, result);
|
|
357
357
|
}
|
|
@@ -521,13 +521,13 @@ class ExtensionTerminalLinkProvider {
|
|
|
521
521
|
async provideLinks(instance, line) {
|
|
522
522
|
const proxy = this._proxy;
|
|
523
523
|
const extHostLinks = await proxy.$provideLinks(instance.instanceId, line);
|
|
524
|
-
return
|
|
524
|
+
return extHostLinks.map(dto => ({
|
|
525
525
|
id: dto.id,
|
|
526
526
|
startIndex: dto.startIndex,
|
|
527
527
|
length: dto.length,
|
|
528
528
|
label: dto.label,
|
|
529
529
|
activate: () => proxy.$activateLink(instance.instanceId, dto.id)
|
|
530
|
-
}))
|
|
530
|
+
}));
|
|
531
531
|
}
|
|
532
532
|
}
|
|
533
533
|
function getOutputMatchForLines(lines, outputMatcher) {
|
|
@@ -34,7 +34,7 @@ let MainThreadTerminalShellIntegration = class MainThreadTerminalShellIntegratio
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
const onDidAddCommandDetection = this._store.add(this._terminalService.createOnInstanceEvent(instance => {
|
|
37
|
-
return
|
|
37
|
+
return Event.map(instance.capabilities.onDidAddCommandDetectionCapability, () => instance);
|
|
38
38
|
})).event;
|
|
39
39
|
this._store.add(onDidAddCommandDetection(e => this._enableShellIntegration(e)));
|
|
40
40
|
const cwdChangeEvent = this._store.add(
|
|
@@ -105,7 +105,10 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
|
|
|
105
105
|
this.testProfiles.removeProfile(controllerId, profileId);
|
|
106
106
|
}
|
|
107
107
|
$addTestsToRun(controllerId, runId, tests) {
|
|
108
|
-
this.withLiveRun(runId, r => r.addTestChainToRun(
|
|
108
|
+
this.withLiveRun(runId, r => r.addTestChainToRun(
|
|
109
|
+
controllerId,
|
|
110
|
+
tests.map(t => ITestItem.deserialize(this.uriIdentityService, t))
|
|
111
|
+
));
|
|
109
112
|
}
|
|
110
113
|
$appendCoverage(runId, taskId, coverage) {
|
|
111
114
|
this.withLiveRun(runId, run => {
|
|
@@ -118,7 +121,7 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
|
|
|
118
121
|
let value = task.coverage.read(undefined);
|
|
119
122
|
if (!value) {
|
|
120
123
|
value = ( new TestCoverage(run, taskId, this.uriIdentityService, {
|
|
121
|
-
getCoverageDetails: (id, testId, token) => this.proxy.$getCoverageDetails(id, testId, token).then(r =>
|
|
124
|
+
getCoverageDetails: (id, testId, token) => this.proxy.$getCoverageDetails(id, testId, token).then(r => r.map(CoverageDetails.deserialize))
|
|
122
125
|
}));
|
|
123
126
|
value.append(deserialized, tx);
|
|
124
127
|
task.coverage.set(value, tx);
|
|
@@ -172,10 +175,10 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
|
|
|
172
175
|
runTests: (reqs, token) => this.proxy.$runControllerTests(reqs, token),
|
|
173
176
|
startContinuousRun: (reqs, token) => this.proxy.$startContinuousRun(reqs, token),
|
|
174
177
|
expandTest: (testId, levels) => this.proxy.$expandTest(testId, isFinite(levels) ? levels : -1),
|
|
175
|
-
getRelatedCode: (testId, token) => this.proxy.$getCodeRelatedToTest(testId, token).then(locations =>
|
|
178
|
+
getRelatedCode: (testId, token) => this.proxy.$getCodeRelatedToTest(testId, token).then(locations => locations.map(l => ({
|
|
176
179
|
uri: URI.revive(l.uri),
|
|
177
180
|
range: Range.lift(l.range)
|
|
178
|
-
})))
|
|
181
|
+
})))
|
|
179
182
|
};
|
|
180
183
|
disposable.add(toDisposable(() => this.testProfiles.removeProfile(controllerId)));
|
|
181
184
|
disposable.add(this.testService.registerTestController(controllerId, controller));
|
|
@@ -205,14 +208,17 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
|
|
|
205
208
|
this.testProviderRegistrations.delete(controllerId);
|
|
206
209
|
}
|
|
207
210
|
$subscribeToDiffs() {
|
|
208
|
-
this.proxy.$acceptDiff(
|
|
211
|
+
this.proxy.$acceptDiff(this.testService.collection.getReviverDiff().map(TestsDiffOp.serialize));
|
|
209
212
|
this.diffListener.value = this.testService.onDidProcessDiff(this.proxy.$acceptDiff, this.proxy);
|
|
210
213
|
}
|
|
211
214
|
$unsubscribeFromDiffs() {
|
|
212
215
|
this.diffListener.clear();
|
|
213
216
|
}
|
|
214
217
|
$publishDiff(controllerId, diff) {
|
|
215
|
-
this.testService.publishDiff(
|
|
218
|
+
this.testService.publishDiff(
|
|
219
|
+
controllerId,
|
|
220
|
+
diff.map(d => TestsDiffOp.deserialize(this.uriIdentityService, d))
|
|
221
|
+
);
|
|
216
222
|
}
|
|
217
223
|
async $runTests(req, token) {
|
|
218
224
|
const result = await this.testService.runResolvedTests(req, token);
|
|
@@ -197,23 +197,23 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
|
|
|
197
197
|
disposables.add(
|
|
198
198
|
treeView.onDidCollapseItem(item => this._proxy.$setExpanded(treeViewId, item.handle, false))
|
|
199
199
|
);
|
|
200
|
-
disposables.add(
|
|
201
|
-
|
|
200
|
+
disposables.add(treeView.onDidChangeSelectionAndFocus(
|
|
201
|
+
items => this._proxy.$setSelectionAndFocus(treeViewId, items.selection.map((
|
|
202
202
|
{
|
|
203
203
|
handle
|
|
204
204
|
}
|
|
205
|
-
) => handle)
|
|
206
|
-
);
|
|
205
|
+
) => handle), items.focus.handle)
|
|
206
|
+
));
|
|
207
207
|
disposables.add(
|
|
208
208
|
treeView.onDidChangeVisibility(isVisible => this._proxy.$setVisible(treeViewId, isVisible))
|
|
209
209
|
);
|
|
210
210
|
disposables.add(treeView.onDidChangeCheckboxState(items => {
|
|
211
|
-
this._proxy.$changeCheckboxState(treeViewId,
|
|
211
|
+
this._proxy.$changeCheckboxState(treeViewId, items.map(item => {
|
|
212
212
|
return {
|
|
213
213
|
treeItemHandle: item.handle,
|
|
214
214
|
newState: item.checkbox?.isChecked ?? false
|
|
215
215
|
};
|
|
216
|
-
}))
|
|
216
|
+
}));
|
|
217
217
|
}));
|
|
218
218
|
}
|
|
219
219
|
getTreeView(treeViewId) {
|
|
@@ -280,7 +280,9 @@ class TreeViewDragAndDropController {
|
|
|
280
280
|
}
|
|
281
281
|
const additionalDataTransfer = ( new VSDataTransfer());
|
|
282
282
|
additionalDataTransferDTO.items.forEach(([type, item]) => {
|
|
283
|
-
const value = type === Mimes.uriList && item.uriListData ? UriList.create(
|
|
283
|
+
const value = type === Mimes.uriList && item.uriListData ? UriList.create(
|
|
284
|
+
item.uriListData.map(part => typeof part === "string" ? part : URI.revive(part))
|
|
285
|
+
) : item.asString;
|
|
284
286
|
additionalDataTransfer.replace(type, createStringDataTransferItem(value));
|
|
285
287
|
});
|
|
286
288
|
return additionalDataTransfer;
|
|
@@ -305,7 +307,10 @@ class TreeViewDataProvider {
|
|
|
305
307
|
if (!treeItems) {
|
|
306
308
|
this.itemsMap.clear();
|
|
307
309
|
}
|
|
308
|
-
return this._proxy.$getChildren(
|
|
310
|
+
return this._proxy.$getChildren(
|
|
311
|
+
this.treeViewId,
|
|
312
|
+
treeItems ? treeItems.map(item => item.handle) : undefined
|
|
313
|
+
).then(children => {
|
|
309
314
|
const convertedChildren = this.convertTransferChildren(treeItems ?? [], children);
|
|
310
315
|
return this.postGetChildren(convertedChildren);
|
|
311
316
|
}, err => {
|
|
@@ -83,13 +83,13 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
83
83
|
if (this.portsAttributesProviders.size === 0) {
|
|
84
84
|
return [];
|
|
85
85
|
}
|
|
86
|
-
const appropriateHandles =
|
|
86
|
+
const appropriateHandles = Array.from(this.portsAttributesProviders.entries()).filter(entry => {
|
|
87
87
|
const selector = entry[1];
|
|
88
88
|
const portRange = (typeof selector.portRange === "number") ? [selector.portRange, selector.portRange + 1] : selector.portRange;
|
|
89
89
|
const portInRange = portRange ? ( ports.some(port => portRange[0] <= port && port < portRange[1])) : true;
|
|
90
90
|
const commandMatches = !selector.commandPattern || (commandLine && (commandLine.match(selector.commandPattern)));
|
|
91
91
|
return portInRange && commandMatches;
|
|
92
|
-
}).map(entry => entry[0])
|
|
92
|
+
}).map(entry => entry[0]);
|
|
93
93
|
if (appropriateHandles.length === 0) {
|
|
94
94
|
return [];
|
|
95
95
|
}
|
|
@@ -116,13 +116,13 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
116
116
|
}
|
|
117
117
|
async elevationPrompt(tunnelOptions, tunnel, source) {
|
|
118
118
|
return this.notificationService.prompt(Severity.Info, ( localize(
|
|
119
|
-
|
|
119
|
+
5009,
|
|
120
120
|
"The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
|
|
121
121
|
source,
|
|
122
122
|
tunnelOptions.remoteAddress.port,
|
|
123
123
|
tunnelOptions.localAddressPort
|
|
124
124
|
)), [{
|
|
125
|
-
label: ( localize(
|
|
125
|
+
label: ( localize(5010, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
|
|
126
126
|
run: async () => {
|
|
127
127
|
this.elevateionRetry = true;
|
|
128
128
|
await this.remoteExplorerService.close({
|
|
@@ -147,7 +147,7 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
147
147
|
return this.remoteExplorerService.close(remote, TunnelCloseReason.Other);
|
|
148
148
|
}
|
|
149
149
|
async $getTunnels() {
|
|
150
|
-
return (
|
|
150
|
+
return (await this.tunnelService.tunnels).map(tunnel => {
|
|
151
151
|
return {
|
|
152
152
|
remoteAddress: {
|
|
153
153
|
port: tunnel.tunnelRemotePort,
|
|
@@ -157,7 +157,7 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
157
157
|
privacy: tunnel.privacy,
|
|
158
158
|
protocol: tunnel.protocol
|
|
159
159
|
};
|
|
160
|
-
})
|
|
160
|
+
});
|
|
161
161
|
}
|
|
162
162
|
async $onFoundNewCandidates(candidates) {
|
|
163
163
|
this.remoteExplorerService.onFoundNewCandidates(candidates);
|
|
@@ -63,7 +63,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
63
63
|
}, token);
|
|
64
64
|
} catch (e) {
|
|
65
65
|
if (!isCancellationError(e)) {
|
|
66
|
-
const openDefaultAction = ( new Action("default", ( localize(
|
|
66
|
+
const openDefaultAction = ( new Action("default", ( localize(5011, "Open using default opener")), undefined, undefined, async () => {
|
|
67
67
|
await this.openerService.open(uri, {
|
|
68
68
|
allowTunneling: false,
|
|
69
69
|
allowContributedOpeners: defaultExternalUriOpenerId
|
|
@@ -72,7 +72,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
72
72
|
openDefaultAction.tooltip = ( uri.toString());
|
|
73
73
|
this.notificationService.notify({
|
|
74
74
|
severity: Severity.Error,
|
|
75
|
-
message: ( localize(
|
|
75
|
+
message: ( localize(5012, "Could not open uri with '{0}': {1}", id, (e.toString()))),
|
|
76
76
|
actions: {
|
|
77
77
|
primary: [openDefaultAction]
|
|
78
78
|
}
|
|
@@ -118,7 +118,7 @@ let MainThreadWebviews = class MainThreadWebviews extends Disposable {
|
|
|
118
118
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
119
119
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none';">
|
|
120
120
|
</head>
|
|
121
|
-
<body>${( localize(
|
|
121
|
+
<body>${( localize(5013, "An error occurred while loading view: {0}", escape(viewType)))}</body>
|
|
122
122
|
</html>`;
|
|
123
123
|
}
|
|
124
124
|
};
|
|
@@ -135,7 +135,7 @@ function reviveWebviewContentOptions(webviewOptions) {
|
|
|
135
135
|
allowForms: webviewOptions.enableForms,
|
|
136
136
|
forwardUntrustedKeypressEvents: true,
|
|
137
137
|
enableCommandUris: webviewOptions.enableCommandUris,
|
|
138
|
-
localResourceRoots: Array.isArray(webviewOptions.localResourceRoots) ?
|
|
138
|
+
localResourceRoots: Array.isArray(webviewOptions.localResourceRoots) ? webviewOptions.localResourceRoots.map(r => URI.revive(r)) : undefined,
|
|
139
139
|
portMapping: webviewOptions.portMapping
|
|
140
140
|
};
|
|
141
141
|
}
|
|
@@ -96,10 +96,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
$updateWorkspaceFolders(extensionName, index, deleteCount, foldersToAdd) {
|
|
99
|
-
const workspaceFoldersToAdd =
|
|
99
|
+
const workspaceFoldersToAdd = foldersToAdd.map(f => ({
|
|
100
100
|
uri: URI.revive(f.uri),
|
|
101
101
|
name: f.name
|
|
102
|
-
}))
|
|
102
|
+
}));
|
|
103
103
|
this._notificationService.status(
|
|
104
104
|
this.getStatusMessage(extensionName, workspaceFoldersToAdd.length, deleteCount),
|
|
105
105
|
{
|
|
@@ -114,10 +114,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
114
114
|
const wantsToDelete = removeCount > 0;
|
|
115
115
|
if (wantsToAdd && !wantsToDelete) {
|
|
116
116
|
if (addCount === 1) {
|
|
117
|
-
message = ( localize(
|
|
117
|
+
message = ( localize(5014, "Extension '{0}' added 1 folder to the workspace", extensionName));
|
|
118
118
|
} else {
|
|
119
119
|
message = ( localize(
|
|
120
|
-
|
|
120
|
+
5015,
|
|
121
121
|
"Extension '{0}' added {1} folders to the workspace",
|
|
122
122
|
extensionName,
|
|
123
123
|
addCount
|
|
@@ -126,10 +126,10 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
126
126
|
}
|
|
127
127
|
else if (wantsToDelete && !wantsToAdd) {
|
|
128
128
|
if (removeCount === 1) {
|
|
129
|
-
message = ( localize(
|
|
129
|
+
message = ( localize(5016, "Extension '{0}' removed 1 folder from the workspace", extensionName));
|
|
130
130
|
} else {
|
|
131
131
|
message = ( localize(
|
|
132
|
-
|
|
132
|
+
5017,
|
|
133
133
|
"Extension '{0}' removed {1} folders from the workspace",
|
|
134
134
|
extensionName,
|
|
135
135
|
removeCount
|
|
@@ -137,7 +137,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
|
-
message = ( localize(
|
|
140
|
+
message = ( localize(5018, "Extension '{0}' changed folders of the workspace", extensionName));
|
|
141
141
|
}
|
|
142
142
|
return message;
|
|
143
143
|
}
|
|
@@ -162,7 +162,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
162
162
|
const workspace = this._contextService.getWorkspace();
|
|
163
163
|
const query = this._queryBuilder.file(includeFolder ? [includeFolder] : workspace.folders, revive(options));
|
|
164
164
|
return this._searchService.fileSearch(query, token).then(result => {
|
|
165
|
-
return
|
|
165
|
+
return result.results.map(m => m.resource);
|
|
166
166
|
}, err => {
|
|
167
167
|
if (!isCancellationError(err)) {
|
|
168
168
|
return Promise.reject(err);
|
|
@@ -173,7 +173,7 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
173
173
|
$startTextSearch(pattern, _folder, options, requestId, token) {
|
|
174
174
|
const folder = URI.revive(_folder);
|
|
175
175
|
const workspace = this._contextService.getWorkspace();
|
|
176
|
-
const folders = folder ? [folder] :
|
|
176
|
+
const folders = folder ? [folder] : workspace.folders.map(folder => folder.uri);
|
|
177
177
|
const query = this._queryBuilder.text(pattern, folders, revive(options));
|
|
178
178
|
query._reason = "startTextSearch";
|
|
179
179
|
const onProgress = p => {
|
|
@@ -212,9 +212,11 @@ let MainThreadWorkspace = class MainThreadWorkspace extends Disposable {
|
|
|
212
212
|
if (!result.success) {
|
|
213
213
|
return [];
|
|
214
214
|
}
|
|
215
|
-
return coalesce(
|
|
216
|
-
|
|
217
|
-
|
|
215
|
+
return coalesce(
|
|
216
|
+
result.editors.map(editor => EditorResourceAccessor.getCanonicalUri(editor, {
|
|
217
|
+
supportSideBySide: SideBySideEditor.PRIMARY
|
|
218
|
+
}))
|
|
219
|
+
);
|
|
218
220
|
}
|
|
219
221
|
$saveAll(includeUntitled) {
|
|
220
222
|
return this._editorService.saveAll({
|
|
@@ -60,7 +60,7 @@ let CustomTextEditorModel = CustomTextEditorModel_1 = class CustomTextEditorMode
|
|
|
60
60
|
}));
|
|
61
61
|
this._register(extensionService.onWillStop(e => {
|
|
62
62
|
e.veto(true, ( localize(
|
|
63
|
-
|
|
63
|
+
13409,
|
|
64
64
|
"An extension provided text editor for '{0}' is still open that would close otherwise.",
|
|
65
65
|
this.name
|
|
66
66
|
)));
|