@codingame/monaco-vscode-api 1.83.0-next.0 → 1.83.2
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/monaco-editor-treemending.patch +919 -919
- package/package.json +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.js +15 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +49 -51
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +58 -69
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +23 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +16 -16
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +59 -65
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +8 -8
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +151 -215
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +54 -58
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +53 -55
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +28 -28
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +265 -277
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -19
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +26 -32
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +20 -26
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +58 -74
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +19 -19
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +32 -36
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +19 -19
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +73 -126
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +66 -74
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +82 -92
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +27 -29
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +122 -124
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +35 -39
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +25 -25
- package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +30 -32
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +82 -92
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +31 -31
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +16 -16
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +32 -42
|
@@ -39,11 +39,11 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
39
39
|
this._environmentService = _environmentService;
|
|
40
40
|
this._telemetryService = _telemetryService;
|
|
41
41
|
this._logService = _logService;
|
|
42
|
-
this._onDidChangeResponsiveState = this._register((
|
|
42
|
+
this._onDidChangeResponsiveState = this._register(( new Emitter()));
|
|
43
43
|
this.onDidChangeResponsiveState = this._onDidChangeResponsiveState.event;
|
|
44
44
|
this._hasStarted = false;
|
|
45
|
-
this._cachedActivationEvents = (
|
|
46
|
-
this._resolvedActivationEvents = (
|
|
45
|
+
this._cachedActivationEvents = ( new Map());
|
|
46
|
+
this._resolvedActivationEvents = ( new Set());
|
|
47
47
|
this._rpcProtocol = null;
|
|
48
48
|
this._customers = [];
|
|
49
49
|
this._extensionHost = extensionHost;
|
|
@@ -163,21 +163,21 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
163
163
|
_createExtensionHostCustomers(kind, protocol) {
|
|
164
164
|
let logger = null;
|
|
165
165
|
if (this._environmentService.logExtensionHostCommunication) {
|
|
166
|
-
logger = (
|
|
166
|
+
logger = ( new RPCLogger(kind));
|
|
167
167
|
}
|
|
168
168
|
else if (TelemetryRPCLogger.isEnabled()) {
|
|
169
|
-
logger = (
|
|
169
|
+
logger = ( new TelemetryRPCLogger(this._telemetryService));
|
|
170
170
|
}
|
|
171
|
-
this._rpcProtocol = (
|
|
171
|
+
this._rpcProtocol = ( new RPCProtocol(protocol, logger));
|
|
172
172
|
this._register(this._rpcProtocol.onDidChangeResponsiveState((responsiveState) => this._onDidChangeResponsiveState.fire(responsiveState)));
|
|
173
173
|
let extensionHostProxy = null;
|
|
174
174
|
const extHostContext = {
|
|
175
175
|
remoteAuthority: this._extensionHost.remoteAuthority,
|
|
176
176
|
extensionHostKind: this.kind,
|
|
177
|
-
getProxy: (identifier) => (
|
|
177
|
+
getProxy: (identifier) => ( this._rpcProtocol.getProxy(identifier)),
|
|
178
178
|
set: (identifier, instance) => this._rpcProtocol.set(identifier, instance),
|
|
179
179
|
dispose: () => this._rpcProtocol.dispose(),
|
|
180
|
-
assertRegistered: (identifiers) => (
|
|
180
|
+
assertRegistered: (identifiers) => ( this._rpcProtocol.assertRegistered(identifiers)),
|
|
181
181
|
drain: () => this._rpcProtocol.drain(),
|
|
182
182
|
internalExtensionService: this._internalExtensionService,
|
|
183
183
|
_setExtensionHostProxy: (value) => {
|
|
@@ -227,15 +227,13 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
227
227
|
if (activationKind === 1 && !this._hasStarted) {
|
|
228
228
|
return Promise.resolve();
|
|
229
229
|
}
|
|
230
|
-
if (!(
|
|
230
|
+
if (!( this._cachedActivationEvents.has(activationEvent))) {
|
|
231
231
|
this._cachedActivationEvents.set(activationEvent, this._activateByEvent(activationEvent, activationKind));
|
|
232
232
|
}
|
|
233
233
|
return this._cachedActivationEvents.get(activationEvent);
|
|
234
234
|
}
|
|
235
235
|
activationEventIsDone(activationEvent) {
|
|
236
|
-
return (
|
|
237
|
-
(this._resolvedActivationEvents.has(activationEvent))
|
|
238
|
-
);
|
|
236
|
+
return ( this._resolvedActivationEvents.has(activationEvent));
|
|
239
237
|
}
|
|
240
238
|
async _activateByEvent(activationEvent, activationKind) {
|
|
241
239
|
if (!this._proxy) {
|
|
@@ -279,7 +277,7 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
279
277
|
};
|
|
280
278
|
}
|
|
281
279
|
logInfo(`invoking...`);
|
|
282
|
-
const intervalLogger = (
|
|
280
|
+
const intervalLogger = ( new IntervalTimer());
|
|
283
281
|
try {
|
|
284
282
|
intervalLogger.cancelAndSet(() => logInfo('waiting...'), 1000);
|
|
285
283
|
const resolverResult = await proxy.resolveAuthority(remoteAuthority, resolveAttempt);
|
|
@@ -352,12 +350,12 @@ let ExtensionHostManager = ExtensionHostManager_1 = class ExtensionHostManager e
|
|
|
352
350
|
return proxy.setRemoteEnvironment(env);
|
|
353
351
|
}
|
|
354
352
|
};
|
|
355
|
-
ExtensionHostManager = ExtensionHostManager_1 = (
|
|
356
|
-
(
|
|
357
|
-
(
|
|
358
|
-
(
|
|
359
|
-
(
|
|
360
|
-
], ExtensionHostManager))
|
|
353
|
+
ExtensionHostManager = ExtensionHostManager_1 = ( __decorate([
|
|
354
|
+
( __param(3, IInstantiationService)),
|
|
355
|
+
( __param(4, IWorkbenchEnvironmentService)),
|
|
356
|
+
( __param(5, ITelemetryService)),
|
|
357
|
+
( __param(6, ILogService))
|
|
358
|
+
], ExtensionHostManager));
|
|
361
359
|
let LazyCreateExtensionHostManager = class LazyCreateExtensionHostManager extends Disposable {
|
|
362
360
|
get kind() {
|
|
363
361
|
return this._extensionHost.runningLocation.kind;
|
|
@@ -370,11 +368,11 @@ let LazyCreateExtensionHostManager = class LazyCreateExtensionHostManager extend
|
|
|
370
368
|
this._internalExtensionService = _internalExtensionService;
|
|
371
369
|
this._instantiationService = _instantiationService;
|
|
372
370
|
this._logService = _logService;
|
|
373
|
-
this._onDidChangeResponsiveState = this._register((
|
|
371
|
+
this._onDidChangeResponsiveState = this._register(( new Emitter()));
|
|
374
372
|
this.onDidChangeResponsiveState = this._onDidChangeResponsiveState.event;
|
|
375
373
|
this._extensionHost = extensionHost;
|
|
376
374
|
this.onDidExit = extensionHost.onExit;
|
|
377
|
-
this._startCalled = (
|
|
375
|
+
this._startCalled = ( new Barrier());
|
|
378
376
|
this._actual = null;
|
|
379
377
|
this._lazyStartExtensions = null;
|
|
380
378
|
}
|
|
@@ -408,7 +406,7 @@ let LazyCreateExtensionHostManager = class LazyCreateExtensionHostManager extend
|
|
|
408
406
|
}
|
|
409
407
|
this._lazyStartExtensions.delta(extensionsDelta);
|
|
410
408
|
if (extensionsDelta.myToAdd.length > 0) {
|
|
411
|
-
const actual = this._createActual(`contains ${extensionsDelta.myToAdd.length} new extension(s) (installed or enabled): ${(
|
|
409
|
+
const actual = this._createActual(`contains ${extensionsDelta.myToAdd.length} new extension(s) (installed or enabled): ${( extensionsDelta.myToAdd.map(extId => extId.value))}`);
|
|
412
410
|
await actual.start(this._lazyStartExtensions.versionId, this._lazyStartExtensions.allExtensions, this._lazyStartExtensions.myExtensions);
|
|
413
411
|
return;
|
|
414
412
|
}
|
|
@@ -474,12 +472,12 @@ let LazyCreateExtensionHostManager = class LazyCreateExtensionHostManager extend
|
|
|
474
472
|
}
|
|
475
473
|
async start(extensionRegistryVersionId, allExtensions, myExtensions) {
|
|
476
474
|
if (myExtensions.length > 0) {
|
|
477
|
-
const actual = this._createActual(`contains ${myExtensions.length} extension(s): ${(
|
|
475
|
+
const actual = this._createActual(`contains ${myExtensions.length} extension(s): ${( myExtensions.map(extId => extId.value))}.`);
|
|
478
476
|
const result = actual.start(extensionRegistryVersionId, allExtensions, myExtensions);
|
|
479
477
|
this._startCalled.open();
|
|
480
478
|
return result;
|
|
481
479
|
}
|
|
482
|
-
this._lazyStartExtensions = (
|
|
480
|
+
this._lazyStartExtensions = ( new ExtensionHostExtensions(extensionRegistryVersionId, allExtensions, myExtensions));
|
|
483
481
|
this._startCalled.open();
|
|
484
482
|
}
|
|
485
483
|
async extensionTestsExecute() {
|
|
@@ -494,10 +492,10 @@ let LazyCreateExtensionHostManager = class LazyCreateExtensionHostManager extend
|
|
|
494
492
|
}
|
|
495
493
|
}
|
|
496
494
|
};
|
|
497
|
-
LazyCreateExtensionHostManager = (
|
|
498
|
-
(
|
|
499
|
-
(
|
|
500
|
-
], LazyCreateExtensionHostManager))
|
|
495
|
+
LazyCreateExtensionHostManager = ( __decorate([
|
|
496
|
+
( __param(2, IInstantiationService)),
|
|
497
|
+
( __param(3, ILogService))
|
|
498
|
+
], LazyCreateExtensionHostManager));
|
|
501
499
|
const colorTables = [
|
|
502
500
|
['#2977B1', '#FC802D', '#34A13A', '#D3282F', '#9366BA'],
|
|
503
501
|
['#8B564C', '#E177C0', '#7F7F7F', '#BBBE3D', '#2EBECD']
|
|
@@ -507,7 +505,7 @@ function prettyWithoutArrays(data) {
|
|
|
507
505
|
return data;
|
|
508
506
|
}
|
|
509
507
|
if (data && typeof data === 'object' && typeof data.toString === 'function') {
|
|
510
|
-
const result = (
|
|
508
|
+
const result = ( data.toString());
|
|
511
509
|
if (result !== '[object Object]') {
|
|
512
510
|
return result;
|
|
513
511
|
}
|
|
@@ -516,9 +514,7 @@ function prettyWithoutArrays(data) {
|
|
|
516
514
|
}
|
|
517
515
|
function pretty(data) {
|
|
518
516
|
if (Array.isArray(data)) {
|
|
519
|
-
return (
|
|
520
|
-
(data.map(prettyWithoutArrays))
|
|
521
|
-
);
|
|
517
|
+
return ( data.map(prettyWithoutArrays));
|
|
522
518
|
}
|
|
523
519
|
return prettyWithoutArrays(data);
|
|
524
520
|
}
|
|
@@ -557,7 +553,7 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
557
553
|
}
|
|
558
554
|
constructor(_telemetryService) {
|
|
559
555
|
this._telemetryService = _telemetryService;
|
|
560
|
-
this._pendingRequests = (
|
|
556
|
+
this._pendingRequests = ( new Map());
|
|
561
557
|
}
|
|
562
558
|
logIncoming(msgLength, req, initiator, str) {
|
|
563
559
|
if (initiator === 0 && /^receiveReply(Err)?:/.test(str)) {
|
|
@@ -585,9 +581,9 @@ let TelemetryRPCLogger = class TelemetryRPCLogger {
|
|
|
585
581
|
}
|
|
586
582
|
}
|
|
587
583
|
};
|
|
588
|
-
TelemetryRPCLogger = (
|
|
589
|
-
(
|
|
590
|
-
], TelemetryRPCLogger))
|
|
584
|
+
TelemetryRPCLogger = ( __decorate([
|
|
585
|
+
( __param(0, ITelemetryService))
|
|
586
|
+
], TelemetryRPCLogger));
|
|
591
587
|
const providers = [];
|
|
592
588
|
function registerLatencyTestProvider(provider) {
|
|
593
589
|
providers.push(provider);
|
|
@@ -610,7 +606,7 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
610
606
|
super({
|
|
611
607
|
id: 'editor.action.measureExtHostLatency',
|
|
612
608
|
title: {
|
|
613
|
-
value: (
|
|
609
|
+
value: ( nls.localize('measureExtHostLatency', "Measure Extension Host Latency")),
|
|
614
610
|
original: 'Measure Extension Host Latency'
|
|
615
611
|
},
|
|
616
612
|
category: Categories.Developer,
|
|
@@ -619,8 +615,8 @@ registerAction2(class MeasureExtHostLatencyAction extends Action2 {
|
|
|
619
615
|
}
|
|
620
616
|
async run(accessor) {
|
|
621
617
|
const editorService = accessor.get(IEditorService);
|
|
622
|
-
const measurements = await Promise.all((
|
|
623
|
-
editorService.openEditor({ resource: undefined, contents: (
|
|
618
|
+
const measurements = await Promise.all(( getLatencyTestProviders().map(provider => provider.measure())));
|
|
619
|
+
editorService.openEditor({ resource: undefined, contents: ( measurements.map(MeasureExtHostLatencyAction._print)).join('\n\n'), options: { pinned: true } });
|
|
624
620
|
}
|
|
625
621
|
static _print(m) {
|
|
626
622
|
if (!m) {
|
package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js
CHANGED
|
@@ -21,7 +21,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
21
21
|
this._configurationService = _configurationService;
|
|
22
22
|
this._logService = _logService;
|
|
23
23
|
this._extensionManifestPropertiesService = _extensionManifestPropertiesService;
|
|
24
|
-
this._runningLocation = (
|
|
24
|
+
this._runningLocation = ( new ExtensionIdentifierMap());
|
|
25
25
|
this._maxLocalProcessAffinity = 0;
|
|
26
26
|
this._maxLocalWebWorkerAffinity = 0;
|
|
27
27
|
}
|
|
@@ -47,7 +47,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
47
47
|
return filterExtensionDescriptions(extensions, this._runningLocation, extRunningLocation => extensionHostManager.representsRunningLocation(extRunningLocation));
|
|
48
48
|
}
|
|
49
49
|
_computeAffinity(inputExtensions, extensionHostKind, isInitialAllocation) {
|
|
50
|
-
const extensions = (
|
|
50
|
+
const extensions = ( new ExtensionIdentifierMap());
|
|
51
51
|
for (const extension of inputExtensions) {
|
|
52
52
|
if (extension.main || extension.browser) {
|
|
53
53
|
extensions.set(extension.identifier, extension);
|
|
@@ -61,7 +61,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
const groups = (
|
|
64
|
+
const groups = ( new ExtensionIdentifierMap());
|
|
65
65
|
let groupNumber = 0;
|
|
66
66
|
for (const [_, extension] of extensions) {
|
|
67
67
|
groups.set(extension.identifier, ++groupNumber);
|
|
@@ -89,7 +89,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
89
89
|
changeGroup(depGroup, myGroup);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
const resultingAffinities = (
|
|
92
|
+
const resultingAffinities = ( new Map());
|
|
93
93
|
let lastAffinity = 0;
|
|
94
94
|
for (const [_, extension] of extensions) {
|
|
95
95
|
const runningLocation = this._runningLocation.get(extension.identifier);
|
|
@@ -101,8 +101,8 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
101
101
|
}
|
|
102
102
|
if (!this._environmentService.isExtensionDevelopment) {
|
|
103
103
|
const configuredAffinities = this._configurationService.getValue('extensions.experimental.affinity') || {};
|
|
104
|
-
const configuredExtensionIds = (
|
|
105
|
-
const configuredAffinityToResultingAffinity = (
|
|
104
|
+
const configuredExtensionIds = ( Object.keys(configuredAffinities));
|
|
105
|
+
const configuredAffinityToResultingAffinity = ( new Map());
|
|
106
106
|
for (const extensionId of configuredExtensionIds) {
|
|
107
107
|
const configuredAffinity = configuredAffinities[extensionId];
|
|
108
108
|
if (typeof configuredAffinity !== 'number' || configuredAffinity <= 0 || Math.floor(configuredAffinity) !== configuredAffinity) {
|
|
@@ -132,7 +132,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
132
132
|
resultingAffinities.set(group, affinity3);
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
const result = (
|
|
135
|
+
const result = ( new ExtensionIdentifierMap());
|
|
136
136
|
for (const extension of inputExtensions) {
|
|
137
137
|
const group = groups.get(extension.identifier) || 0;
|
|
138
138
|
const affinity = resultingAffinities.get(group) || 0;
|
|
@@ -146,7 +146,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
146
146
|
extensionIds.push(extension.identifier);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
this._logService.info(`Placing extension(s) ${(
|
|
149
|
+
this._logService.info(`Placing extension(s) ${( extensionIds.map(e => e.value)).join(', ')} on a separate extension host.`);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
return { affinities: result, maxAffinity: lastAffinity };
|
|
@@ -155,17 +155,17 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
155
155
|
return this._doComputeRunningLocation(this._runningLocation, localExtensions, remoteExtensions, isInitialAllocation).runningLocation;
|
|
156
156
|
}
|
|
157
157
|
_doComputeRunningLocation(existingRunningLocation, localExtensions, remoteExtensions, isInitialAllocation) {
|
|
158
|
-
localExtensions = localExtensions.filter(extension => !(
|
|
159
|
-
remoteExtensions = remoteExtensions.filter(extension => !(
|
|
158
|
+
localExtensions = localExtensions.filter(extension => !( existingRunningLocation.has(extension.identifier)));
|
|
159
|
+
remoteExtensions = remoteExtensions.filter(extension => !( existingRunningLocation.has(extension.identifier)));
|
|
160
160
|
const extensionHostKinds = determineExtensionHostKinds(localExtensions, remoteExtensions, (extension) => this.readExtensionKinds(extension), (extensionId, extensionKinds, isInstalledLocally, isInstalledRemotely, preference) => this._extensionHostKindPicker.pickExtensionHostKind(extensionId, extensionKinds, isInstalledLocally, isInstalledRemotely, preference));
|
|
161
|
-
const extensions = (
|
|
161
|
+
const extensions = ( new ExtensionIdentifierMap());
|
|
162
162
|
for (const extension of localExtensions) {
|
|
163
163
|
extensions.set(extension.identifier, extension);
|
|
164
164
|
}
|
|
165
165
|
for (const extension of remoteExtensions) {
|
|
166
166
|
extensions.set(extension.identifier, extension);
|
|
167
167
|
}
|
|
168
|
-
const result = (
|
|
168
|
+
const result = ( new ExtensionIdentifierMap());
|
|
169
169
|
const localProcessExtensions = [];
|
|
170
170
|
const localWebWorkerExtensions = [];
|
|
171
171
|
for (const [extensionIdKey, extensionHostKind] of extensionHostKinds) {
|
|
@@ -183,19 +183,19 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
else if (extensionHostKind === 3 ) {
|
|
186
|
-
runningLocation = (
|
|
186
|
+
runningLocation = ( new RemoteRunningLocation());
|
|
187
187
|
}
|
|
188
188
|
result.set(extensionIdKey, runningLocation);
|
|
189
189
|
}
|
|
190
190
|
const { affinities, maxAffinity } = this._computeAffinity(localProcessExtensions, 1 , isInitialAllocation);
|
|
191
191
|
for (const extension of localProcessExtensions) {
|
|
192
192
|
const affinity = affinities.get(extension.identifier) || 0;
|
|
193
|
-
result.set(extension.identifier, (
|
|
193
|
+
result.set(extension.identifier, ( new LocalProcessRunningLocation(affinity)));
|
|
194
194
|
}
|
|
195
195
|
const { affinities: localWebWorkerAffinities, maxAffinity: maxLocalWebWorkerAffinity } = this._computeAffinity(localWebWorkerExtensions, 2 , isInitialAllocation);
|
|
196
196
|
for (const extension of localWebWorkerExtensions) {
|
|
197
197
|
const affinity = localWebWorkerAffinities.get(extension.identifier) || 0;
|
|
198
|
-
result.set(extension.identifier, (
|
|
198
|
+
result.set(extension.identifier, ( new LocalWebWorkerRunningLocation(affinity)));
|
|
199
199
|
}
|
|
200
200
|
for (const [extensionIdKey, runningLocation] of existingRunningLocation) {
|
|
201
201
|
if (runningLocation) {
|
|
@@ -211,7 +211,7 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
211
211
|
this._maxLocalWebWorkerAffinity = maxLocalWebWorkerAffinity;
|
|
212
212
|
}
|
|
213
213
|
deltaExtensions(toAdd, toRemove) {
|
|
214
|
-
const removedRunningLocation = (
|
|
214
|
+
const removedRunningLocation = ( new ExtensionIdentifierMap());
|
|
215
215
|
for (const extensionId of toRemove) {
|
|
216
216
|
const extensionKey = extensionId;
|
|
217
217
|
removedRunningLocation.set(extensionKey, this._runningLocation.get(extensionKey) || null);
|
|
@@ -235,28 +235,28 @@ let ExtensionRunningLocationTracker = class ExtensionRunningLocationTracker {
|
|
|
235
235
|
localWebWorkerExtensions.push(extension);
|
|
236
236
|
}
|
|
237
237
|
else if (extensionHostKind === 3 ) {
|
|
238
|
-
runningLocation = (
|
|
238
|
+
runningLocation = ( new RemoteRunningLocation());
|
|
239
239
|
}
|
|
240
240
|
this._runningLocation.set(extension.identifier, runningLocation);
|
|
241
241
|
}
|
|
242
242
|
const { affinities } = this._computeAffinity(localProcessExtensions, 1 , false);
|
|
243
243
|
for (const extension of localProcessExtensions) {
|
|
244
244
|
const affinity = affinities.get(extension.identifier) || 0;
|
|
245
|
-
this._runningLocation.set(extension.identifier, (
|
|
245
|
+
this._runningLocation.set(extension.identifier, ( new LocalProcessRunningLocation(affinity)));
|
|
246
246
|
}
|
|
247
247
|
const { affinities: webWorkerExtensionsAffinities } = this._computeAffinity(localWebWorkerExtensions, 2 , false);
|
|
248
248
|
for (const extension of localWebWorkerExtensions) {
|
|
249
249
|
const affinity = webWorkerExtensionsAffinities.get(extension.identifier) || 0;
|
|
250
|
-
this._runningLocation.set(extension.identifier, (
|
|
250
|
+
this._runningLocation.set(extension.identifier, ( new LocalWebWorkerRunningLocation(affinity)));
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
};
|
|
254
|
-
ExtensionRunningLocationTracker = (
|
|
255
|
-
(
|
|
256
|
-
(
|
|
257
|
-
(
|
|
258
|
-
(
|
|
259
|
-
], ExtensionRunningLocationTracker))
|
|
254
|
+
ExtensionRunningLocationTracker = ( __decorate([
|
|
255
|
+
( __param(2, IWorkbenchEnvironmentService)),
|
|
256
|
+
( __param(3, IConfigurationService)),
|
|
257
|
+
( __param(4, ILogService)),
|
|
258
|
+
( __param(5, IExtensionManifestPropertiesService))
|
|
259
|
+
], ExtensionRunningLocationTracker));
|
|
260
260
|
function filterExtensionDescriptions(extensions, runningLocation, predicate) {
|
|
261
261
|
return extensions.filter((ext) => {
|
|
262
262
|
const extRunningLocation = runningLocation.get(ext.identifier);
|
|
@@ -63,7 +63,7 @@ class ScanCodeCombo {
|
|
|
63
63
|
this.scanCode = scanCode;
|
|
64
64
|
}
|
|
65
65
|
toString() {
|
|
66
|
-
return `${this.ctrlKey ? 'Ctrl+' : ''}${this.shiftKey ? 'Shift+' : ''}${this.altKey ? 'Alt+' : ''}${(
|
|
66
|
+
return `${this.ctrlKey ? 'Ctrl+' : ''}${this.shiftKey ? 'Shift+' : ''}${this.altKey ? 'Alt+' : ''}${( ScanCodeUtils.toString(this.scanCode))}`;
|
|
67
67
|
}
|
|
68
68
|
equals(other) {
|
|
69
69
|
return (this.ctrlKey === other.ctrlKey
|
|
@@ -92,7 +92,7 @@ class ScanCodeCombo {
|
|
|
92
92
|
return ' --- ';
|
|
93
93
|
}
|
|
94
94
|
if (charCode >= 768 && charCode <= 879 ) {
|
|
95
|
-
return 'U+' + (
|
|
95
|
+
return 'U+' + ( charCode.toString(16));
|
|
96
96
|
}
|
|
97
97
|
return ' ' + String.fromCharCode(charCode) + ' ';
|
|
98
98
|
}
|
|
@@ -105,7 +105,7 @@ class KeyCodeCombo {
|
|
|
105
105
|
this.keyCode = keyCode;
|
|
106
106
|
}
|
|
107
107
|
toString() {
|
|
108
|
-
return `${this.ctrlKey ? 'Ctrl+' : ''}${this.shiftKey ? 'Shift+' : ''}${this.altKey ? 'Alt+' : ''}${(
|
|
108
|
+
return `${this.ctrlKey ? 'Ctrl+' : ''}${this.shiftKey ? 'Shift+' : ''}${this.altKey ? 'Alt+' : ''}${( KeyCodeUtils.toString(this.keyCode))}`;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
class ScanCodeKeyCodeMapper {
|
|
@@ -184,7 +184,7 @@ class ScanCodeKeyCodeMapper {
|
|
|
184
184
|
const shiftKey = (scanCodeComboEncoded & 0b010) ? true : false;
|
|
185
185
|
const altKey = (scanCodeComboEncoded & 0b100) ? true : false;
|
|
186
186
|
const scanCode = (scanCodeComboEncoded >>> 3);
|
|
187
|
-
result[i] = (
|
|
187
|
+
result[i] = ( new ScanCodeCombo(ctrlKey, shiftKey, altKey, scanCode));
|
|
188
188
|
}
|
|
189
189
|
return result;
|
|
190
190
|
}
|
|
@@ -201,7 +201,7 @@ class ScanCodeKeyCodeMapper {
|
|
|
201
201
|
const shiftKey = (keyCodeComboEncoded & 0b010) ? true : false;
|
|
202
202
|
const altKey = (keyCodeComboEncoded & 0b100) ? true : false;
|
|
203
203
|
const keyCode = (keyCodeComboEncoded >>> 3);
|
|
204
|
-
result[i] = (
|
|
204
|
+
result[i] = ( new KeyCodeCombo(ctrlKey, shiftKey, altKey, keyCode));
|
|
205
205
|
}
|
|
206
206
|
return result;
|
|
207
207
|
}
|
|
@@ -220,8 +220,8 @@ class ScanCodeKeyCodeMapper {
|
|
|
220
220
|
case 45 : return 21 ;
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
const keyCodeCombos1 = this.lookupScanCodeCombo((
|
|
224
|
-
const keyCodeCombos2 = this.lookupScanCodeCombo((
|
|
223
|
+
const keyCodeCombos1 = this.lookupScanCodeCombo(( new ScanCodeCombo(false, false, false, scanCode)));
|
|
224
|
+
const keyCodeCombos2 = this.lookupScanCodeCombo(( new ScanCodeCombo(false, true, false, scanCode)));
|
|
225
225
|
if (keyCodeCombos1.length === 1 && keyCodeCombos2.length === 1) {
|
|
226
226
|
const shiftKey1 = keyCodeCombos1[0].shiftKey;
|
|
227
227
|
const keyCode1 = keyCodeCombos1[0].keyCode;
|
|
@@ -254,21 +254,21 @@ class MacLinuxKeyboardMapper {
|
|
|
254
254
|
this._scanCodeToLabel = [];
|
|
255
255
|
this._scanCodeToDispatch = [];
|
|
256
256
|
this._codeInfo = [];
|
|
257
|
-
this._scanCodeKeyCodeMapper = (
|
|
257
|
+
this._scanCodeKeyCodeMapper = ( new ScanCodeKeyCodeMapper());
|
|
258
258
|
this._scanCodeToLabel = [];
|
|
259
259
|
this._scanCodeToDispatch = [];
|
|
260
260
|
const _registerIfUnknown = (hwCtrlKey, hwShiftKey, hwAltKey, scanCode, kbCtrlKey, kbShiftKey, kbAltKey, keyCode) => {
|
|
261
|
-
this._scanCodeKeyCodeMapper.registerIfUnknown((
|
|
261
|
+
this._scanCodeKeyCodeMapper.registerIfUnknown(( new ScanCodeCombo(
|
|
262
262
|
hwCtrlKey ? true : false,
|
|
263
263
|
hwShiftKey ? true : false,
|
|
264
264
|
hwAltKey ? true : false,
|
|
265
265
|
scanCode
|
|
266
|
-
))
|
|
266
|
+
)), ( new KeyCodeCombo(
|
|
267
267
|
kbCtrlKey ? true : false,
|
|
268
268
|
kbShiftKey ? true : false,
|
|
269
269
|
kbAltKey ? true : false,
|
|
270
270
|
keyCode
|
|
271
|
-
)))
|
|
271
|
+
)));
|
|
272
272
|
};
|
|
273
273
|
const _registerAllCombos = (_ctrlKey, _shiftKey, _altKey, scanCode, keyCode) => {
|
|
274
274
|
for (let ctrlKey = _ctrlKey; ctrlKey <= 1; ctrlKey++) {
|
|
@@ -289,12 +289,12 @@ class MacLinuxKeyboardMapper {
|
|
|
289
289
|
const keyCode = IMMUTABLE_CODE_TO_KEY_CODE[scanCode];
|
|
290
290
|
if (keyCode !== -1 ) {
|
|
291
291
|
_registerAllCombos(0, 0, 0, scanCode, keyCode);
|
|
292
|
-
this._scanCodeToLabel[scanCode] = (
|
|
292
|
+
this._scanCodeToLabel[scanCode] = ( KeyCodeUtils.toString(keyCode));
|
|
293
293
|
if (keyCode === 0 || keyCode === 5 || keyCode === 57 || keyCode === 6 || keyCode === 4 ) {
|
|
294
294
|
this._scanCodeToDispatch[scanCode] = null;
|
|
295
295
|
}
|
|
296
296
|
else {
|
|
297
|
-
this._scanCodeToDispatch[scanCode] = `[${(
|
|
297
|
+
this._scanCodeToDispatch[scanCode] = `[${( ScanCodeUtils.toString(scanCode))}]`;
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
}
|
|
@@ -320,7 +320,7 @@ class MacLinuxKeyboardMapper {
|
|
|
320
320
|
}
|
|
321
321
|
const _registerLetterIfMissing = (charCode, scanCode, value, withShift) => {
|
|
322
322
|
if (!producesLatinLetter[charCode]) {
|
|
323
|
-
missingLatinLettersOverride[(
|
|
323
|
+
missingLatinLettersOverride[( ScanCodeUtils.toString(scanCode))] = {
|
|
324
324
|
value: value,
|
|
325
325
|
withShift: withShift,
|
|
326
326
|
withAltGr: '',
|
|
@@ -380,7 +380,7 @@ class MacLinuxKeyboardMapper {
|
|
|
380
380
|
withShiftAltGr: withShiftAltGr,
|
|
381
381
|
};
|
|
382
382
|
mappings[mappingsLen++] = mapping;
|
|
383
|
-
this._scanCodeToDispatch[scanCode] = `[${(
|
|
383
|
+
this._scanCodeToDispatch[scanCode] = `[${( ScanCodeUtils.toString(scanCode))}]`;
|
|
384
384
|
if (value >= 97 && value <= 122 ) {
|
|
385
385
|
const upperCaseValue = 65 + ((value - 97) );
|
|
386
386
|
this._scanCodeToLabel[scanCode] = String.fromCharCode(upperCaseValue);
|
|
@@ -529,7 +529,7 @@ class MacLinuxKeyboardMapper {
|
|
|
529
529
|
const hwCtrlKey = (mod & 0b001) ? true : false;
|
|
530
530
|
const hwShiftKey = (mod & 0b010) ? true : false;
|
|
531
531
|
const hwAltKey = (mod & 0b100) ? true : false;
|
|
532
|
-
const scanCodeCombo = (
|
|
532
|
+
const scanCodeCombo = ( new ScanCodeCombo(hwCtrlKey, hwShiftKey, hwAltKey, scanCode));
|
|
533
533
|
const resolvedKb = this.resolveKeyboardEvent({
|
|
534
534
|
_standardKeyboardEventBrand: true,
|
|
535
535
|
ctrlKey: scanCodeCombo.ctrlKey,
|
|
@@ -538,9 +538,9 @@ class MacLinuxKeyboardMapper {
|
|
|
538
538
|
metaKey: false,
|
|
539
539
|
altGraphKey: false,
|
|
540
540
|
keyCode: -1 ,
|
|
541
|
-
code: (
|
|
541
|
+
code: ( ScanCodeUtils.toString(scanCode))
|
|
542
542
|
});
|
|
543
|
-
const outScanCodeCombo = (
|
|
543
|
+
const outScanCodeCombo = ( scanCodeCombo.toString());
|
|
544
544
|
const outKey = scanCodeCombo.getProducedChar(mapping);
|
|
545
545
|
const ariaLabel = resolvedKb.getAriaLabel();
|
|
546
546
|
const outUILabel = (ariaLabel ? ariaLabel.replace(/Control\+/, 'Ctrl+') : null);
|
|
@@ -571,7 +571,7 @@ class MacLinuxKeyboardMapper {
|
|
|
571
571
|
}
|
|
572
572
|
colPriority = String(priority);
|
|
573
573
|
}
|
|
574
|
-
const outKeybinding = (
|
|
574
|
+
const outKeybinding = ( kbCombo.toString());
|
|
575
575
|
if (i === 0) {
|
|
576
576
|
result.push(`| ${this._leftPad(outScanCodeCombo, 30)} | ${outKey} | ${this._leftPad(outKeybinding, 25)} | ${this._leftPad(colPriority, 3)} | ${this._leftPad(outUILabel, 25)} | ${this._leftPad(outUserSettings, 30)} | ${this._leftPad(outElectronAccelerator, 25)} | ${this._leftPad(outDispatchStr, 30)} | ${outWYSIWYG} |`);
|
|
577
577
|
}
|
|
@@ -596,25 +596,25 @@ class MacLinuxKeyboardMapper {
|
|
|
596
596
|
}
|
|
597
597
|
keyCodeChordToScanCodeChord(chord) {
|
|
598
598
|
if (chord.keyCode === 3 ) {
|
|
599
|
-
return [(
|
|
599
|
+
return [( new ScanCodeChord(
|
|
600
600
|
chord.ctrlKey,
|
|
601
601
|
chord.shiftKey,
|
|
602
602
|
chord.altKey,
|
|
603
603
|
chord.metaKey,
|
|
604
604
|
46
|
|
605
|
-
))
|
|
605
|
+
))];
|
|
606
606
|
}
|
|
607
|
-
const scanCodeCombos = this._scanCodeKeyCodeMapper.lookupKeyCodeCombo((
|
|
607
|
+
const scanCodeCombos = this._scanCodeKeyCodeMapper.lookupKeyCodeCombo(( new KeyCodeCombo(chord.ctrlKey, chord.shiftKey, chord.altKey, chord.keyCode)));
|
|
608
608
|
const result = [];
|
|
609
609
|
for (let i = 0, len = scanCodeCombos.length; i < len; i++) {
|
|
610
610
|
const scanCodeCombo = scanCodeCombos[i];
|
|
611
|
-
result[i] = (
|
|
611
|
+
result[i] = ( new ScanCodeChord(
|
|
612
612
|
scanCodeCombo.ctrlKey,
|
|
613
613
|
scanCodeCombo.shiftKey,
|
|
614
614
|
scanCodeCombo.altKey,
|
|
615
615
|
chord.metaKey,
|
|
616
616
|
scanCodeCombo.scanCode
|
|
617
|
-
))
|
|
617
|
+
));
|
|
618
618
|
}
|
|
619
619
|
return result;
|
|
620
620
|
}
|
|
@@ -682,13 +682,13 @@ class MacLinuxKeyboardMapper {
|
|
|
682
682
|
}
|
|
683
683
|
const constantKeyCode = this._scanCodeKeyCodeMapper.guessStableKeyCode(chord.scanCode);
|
|
684
684
|
if (constantKeyCode !== -1 ) {
|
|
685
|
-
const reverseChords = this.keyCodeChordToScanCodeChord((
|
|
685
|
+
const reverseChords = this.keyCodeChordToScanCodeChord(( new KeyCodeChord(
|
|
686
686
|
chord.ctrlKey,
|
|
687
687
|
chord.shiftKey,
|
|
688
688
|
chord.altKey,
|
|
689
689
|
chord.metaKey,
|
|
690
690
|
constantKeyCode
|
|
691
|
-
)))
|
|
691
|
+
)));
|
|
692
692
|
for (let i = 0, len = reverseChords.length; i < len; i++) {
|
|
693
693
|
const reverseChord = reverseChords[i];
|
|
694
694
|
if (reverseChord.scanCode === chord.scanCode) {
|
|
@@ -740,7 +740,7 @@ class MacLinuxKeyboardMapper {
|
|
|
740
740
|
for (let i = 0, len = chordPart.length; i < len; i++) {
|
|
741
741
|
const chords = [...previousParts, chordPart[i]];
|
|
742
742
|
if (isFinalIndex) {
|
|
743
|
-
result.push((
|
|
743
|
+
result.push(( new NativeResolvedKeybinding(this, this._OS, chords)));
|
|
744
744
|
}
|
|
745
745
|
else {
|
|
746
746
|
this._generateResolvedKeybindings(chordParts, currentIndex + 1, chords, result);
|
|
@@ -791,10 +791,8 @@ class MacLinuxKeyboardMapper {
|
|
|
791
791
|
}
|
|
792
792
|
const ctrlKey = keyboardEvent.ctrlKey || (this._mapAltGrToCtrlAlt && keyboardEvent.altGraphKey);
|
|
793
793
|
const altKey = keyboardEvent.altKey || (this._mapAltGrToCtrlAlt && keyboardEvent.altGraphKey);
|
|
794
|
-
const chord = (
|
|
795
|
-
return (
|
|
796
|
-
(new NativeResolvedKeybinding(this, this._OS, [chord]))
|
|
797
|
-
);
|
|
794
|
+
const chord = ( new ScanCodeChord(ctrlKey, keyboardEvent.shiftKey, altKey, keyboardEvent.metaKey, code));
|
|
795
|
+
return ( new NativeResolvedKeybinding(this, this._OS, [chord]));
|
|
798
796
|
}
|
|
799
797
|
_resolveChord(chord) {
|
|
800
798
|
if (!chord) {
|
|
@@ -806,7 +804,7 @@ class MacLinuxKeyboardMapper {
|
|
|
806
804
|
return this.keyCodeChordToScanCodeChord(chord);
|
|
807
805
|
}
|
|
808
806
|
resolveKeybinding(keybinding) {
|
|
809
|
-
const chords = (
|
|
807
|
+
const chords = ( keybinding.chords.map(chord => this._resolveChord(chord)));
|
|
810
808
|
return this._toResolvedKeybinding(chords);
|
|
811
809
|
}
|
|
812
810
|
static _redirectCharCode(charCode) {
|