custom-electron-titlebar 3.2.6 → 3.2.10
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/.github/FUNDING.yml +1 -0
- package/README.md +15 -24
- package/_config.yml +1 -0
- package/{lib → build}/browser/browser.d.ts +0 -0
- package/{lib → build}/browser/browser.js +0 -0
- package/{lib → build}/browser/browser.js.map +0 -0
- package/{lib → build}/browser/event.d.ts +0 -0
- package/{lib → build}/browser/event.js +2 -1
- package/{lib → build}/browser/event.js.map +1 -1
- package/{lib → build}/browser/iframe.d.ts +0 -0
- package/{lib → build}/browser/iframe.js +0 -0
- package/{lib → build}/browser/iframe.js.map +0 -0
- package/{lib → build}/browser/keyboardEvent.d.ts +0 -0
- package/{lib → build}/browser/keyboardEvent.js +0 -0
- package/{lib → build}/browser/keyboardEvent.js.map +0 -0
- package/{lib → build}/browser/mouseEvent.d.ts +0 -0
- package/{lib → build}/browser/mouseEvent.js +0 -0
- package/{lib → build}/browser/mouseEvent.js.map +0 -0
- package/{lib → build}/common/arrays.d.ts +0 -0
- package/{lib → build}/common/arrays.js +0 -0
- package/{lib → build}/common/arrays.js.map +0 -0
- package/{lib → build}/common/async.d.ts +0 -0
- package/{lib → build}/common/async.js +0 -0
- package/{lib → build}/common/async.js.map +0 -0
- package/{lib → build}/common/charCode.d.ts +0 -0
- package/{lib → build}/common/charCode.js +0 -0
- package/{lib → build}/common/charCode.js.map +0 -0
- package/{lib → build}/common/color.d.ts +0 -0
- package/{lib → build}/common/color.js +0 -0
- package/{lib → build}/common/color.js.map +0 -0
- package/{lib → build}/common/dom.d.ts +0 -0
- package/{lib → build}/common/dom.js +16 -14
- package/build/common/dom.js.map +1 -0
- package/{lib → build}/common/event.d.ts +0 -0
- package/{lib → build}/common/event.js +1 -1
- package/build/common/event.js.map +1 -0
- package/{lib → build}/common/iterator.d.ts +0 -0
- package/{lib → build}/common/iterator.js +0 -0
- package/{lib → build}/common/iterator.js.map +0 -0
- package/{lib → build}/common/keyCodes.d.ts +0 -0
- package/{lib → build}/common/keyCodes.js +0 -0
- package/{lib → build}/common/keyCodes.js.map +0 -0
- package/{lib → build}/common/lifecycle.d.ts +0 -0
- package/{lib → build}/common/lifecycle.js +0 -0
- package/{lib → build}/common/lifecycle.js.map +0 -0
- package/{lib → build}/common/linkedList.d.ts +0 -0
- package/{lib → build}/common/linkedList.js +0 -0
- package/{lib → build}/common/linkedList.js.map +0 -0
- package/{lib → build}/common/platform.d.ts +0 -0
- package/{lib → build}/common/platform.js +0 -0
- package/{lib → build}/common/platform.js.map +0 -0
- package/{lib → build}/index.d.ts +0 -0
- package/{lib → build}/index.js +0 -0
- package/{lib → build}/index.js.map +0 -0
- package/{lib → build}/menu/menu.d.ts +0 -0
- package/{lib → build}/menu/menu.js +38 -38
- package/build/menu/menu.js.map +1 -0
- package/{lib → build}/menu/menuitem.d.ts +10 -2
- package/{lib → build}/menu/menuitem.js +70 -34
- package/build/menu/menuitem.js.map +1 -0
- package/{lib → build}/menubar.d.ts +0 -0
- package/{lib → build}/menubar.js +29 -30
- package/build/menubar.js.map +1 -0
- package/{lib → build}/themebar.d.ts +0 -0
- package/{lib → build}/themebar.js +2 -2
- package/build/themebar.js.map +1 -0
- package/{lib → build}/titlebar.d.ts +0 -0
- package/{lib → build}/titlebar.js +61 -58
- package/build/titlebar.js.map +1 -0
- package/package.json +13 -7
- package/lib/common/dom.js.map +0 -1
- package/lib/common/enableNativeMenuCommands.d.ts +0 -1
- package/lib/common/enableNativeMenuCommands.js +0 -32
- package/lib/common/enableNativeMenuCommands.js.map +0 -1
- package/lib/common/event.js.map +0 -1
- package/lib/main.d.ts +0 -1
- package/lib/main.js +0 -14
- package/lib/main.js.map +0 -1
- package/lib/menu/menu.js.map +0 -1
- package/lib/menu/menuitem.js.map +0 -1
- package/lib/menubar.js.map +0 -1
- package/lib/themebar.js.map +0 -1
- package/lib/titlebar.js.map +0 -1
- package/lib/vs/base/browser/browser.js +0 -150
- package/lib/vs/base/browser/canIUse.js +0 -58
- package/lib/vs/base/browser/codicons.js +0 -37
- package/lib/vs/base/browser/contextmenu.js +0 -9
- package/lib/vs/base/browser/dnd.js +0 -113
- package/lib/vs/base/browser/dom.js +0 -1417
- package/lib/vs/base/browser/event.js +0 -36
- package/lib/vs/base/browser/fastDomNode.js +0 -265
- package/lib/vs/base/browser/formattedTextRenderer.js +0 -248
- package/lib/vs/base/browser/globalMouseMoveMonitor.js +0 -137
- package/lib/vs/base/browser/history.js +0 -9
- package/lib/vs/base/browser/iframe.js +0 -126
- package/lib/vs/base/browser/keyboardEvent.js +0 -599
- package/lib/vs/base/browser/mouseEvent.js +0 -155
- package/lib/vs/base/browser/touch.js +0 -315
- package/lib/vs/base/browser/ui/actionbar/actionViewItems.js +0 -397
- package/lib/vs/base/browser/ui/actionbar/actionbar.js +0 -583
- package/lib/vs/base/browser/ui/checkbox/checkbox.js +0 -251
- package/lib/vs/base/browser/ui/codicons/codiconLabel.js +0 -31
- package/lib/vs/base/browser/ui/codicons/codiconStyles.js +0 -47
- package/lib/vs/base/browser/ui/contextview/contextview.js +0 -367
- package/lib/vs/base/browser/ui/dropdown/dropdown.js +0 -256
- package/lib/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +0 -120
- package/lib/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +0 -118
- package/lib/vs/base/browser/ui/list/list.js +0 -54
- package/lib/vs/base/browser/ui/list/listPaging.js +0 -322
- package/lib/vs/base/browser/ui/list/listView.js +0 -1388
- package/lib/vs/base/browser/ui/list/listWidget.js +0 -1709
- package/lib/vs/base/browser/ui/list/rangeMap.js +0 -223
- package/lib/vs/base/browser/ui/list/rowCache.js +0 -113
- package/lib/vs/base/browser/ui/list/splice.js +0 -23
- package/lib/vs/base/browser/ui/menu/menu.js +0 -1371
- package/lib/vs/base/browser/ui/menu/menubar.js +0 -1139
- package/lib/vs/base/browser/ui/scrollbar/abstractScrollbar.js +0 -278
- package/lib/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +0 -115
- package/lib/vs/base/browser/ui/scrollbar/scrollableElement.js +0 -646
- package/lib/vs/base/browser/ui/scrollbar/scrollableElementOptions.js +0 -9
- package/lib/vs/base/browser/ui/scrollbar/scrollbarArrow.js +0 -106
- package/lib/vs/base/browser/ui/scrollbar/scrollbarState.js +0 -184
- package/lib/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +0 -116
- package/lib/vs/base/browser/ui/scrollbar/verticalScrollbar.js +0 -114
- package/lib/vs/base/browser/ui/selectBox/selectBox.js +0 -85
- package/lib/vs/base/browser/ui/selectBox/selectBoxCustom.js +0 -985
- package/lib/vs/base/browser/ui/selectBox/selectBoxNative.js +0 -188
- package/lib/vs/base/browser/ui/toolbar/toolbar.js +0 -206
- package/lib/vs/base/browser/ui/widget.js +0 -69
- package/lib/vs/base/common/actions.js +0 -224
- package/lib/vs/base/common/amd.js +0 -31
- package/lib/vs/base/common/arrays.js +0 -641
- package/lib/vs/base/common/assert.js +0 -21
- package/lib/vs/base/common/async.js +0 -966
- package/lib/vs/base/common/buffer.js +0 -250
- package/lib/vs/base/common/cache.js +0 -40
- package/lib/vs/base/common/cancellation.js +0 -146
- package/lib/vs/base/common/charCode.js +0 -9
- package/lib/vs/base/common/codicon.js +0 -136
- package/lib/vs/base/common/codicons.js +0 -1378
- package/lib/vs/base/common/collections.js +0 -133
- package/lib/vs/base/common/color.js +0 -716
- package/lib/vs/base/common/comparers.js +0 -280
- package/lib/vs/base/common/console.js +0 -142
- package/lib/vs/base/common/date.js +0 -113
- package/lib/vs/base/common/decorators.js +0 -169
- package/lib/vs/base/common/errorMessage.js +0 -93
- package/lib/vs/base/common/errors.js +0 -213
- package/lib/vs/base/common/errorsWithActions.js +0 -28
- package/lib/vs/base/common/event.js +0 -873
- package/lib/vs/base/common/extpath.js +0 -401
- package/lib/vs/base/common/filters.js +0 -948
- package/lib/vs/base/common/functional.js +0 -28
- package/lib/vs/base/common/fuzzyScorer.js +0 -811
- package/lib/vs/base/common/glob.js +0 -696
- package/lib/vs/base/common/hash.js +0 -359
- package/lib/vs/base/common/history.js +0 -116
- package/lib/vs/base/common/htmlContent.js +0 -162
- package/lib/vs/base/common/idGenerator.js +0 -25
- package/lib/vs/base/common/iterator.js +0 -118
- package/lib/vs/base/common/json.js +0 -1624
- package/lib/vs/base/common/jsonEdit.js +0 -272
- package/lib/vs/base/common/jsonErrorMessages.js +0 -69
- package/lib/vs/base/common/jsonFormatter.js +0 -316
- package/lib/vs/base/common/jsonSchema.js +0 -9
- package/lib/vs/base/common/keyCodes.js +0 -591
- package/lib/vs/base/common/keybindingLabels.js +0 -231
- package/lib/vs/base/common/keybindingParser.js +0 -142
- package/lib/vs/base/common/labels.js +0 -430
- package/lib/vs/base/common/lazy.js +0 -71
- package/lib/vs/base/common/lifecycle.js +0 -308
- package/lib/vs/base/common/linkedList.js +0 -152
- package/lib/vs/base/common/linkedText.js +0 -73
- package/lib/vs/base/common/map.js +0 -1108
- package/lib/vs/base/common/marshalling.js +0 -80
- package/lib/vs/base/common/mime.js +0 -321
- package/lib/vs/base/common/navigator.js +0 -50
- package/lib/vs/base/common/network.js +0 -160
- package/lib/vs/base/common/normalization.js +0 -78
- package/lib/vs/base/common/numbers.js +0 -55
- package/lib/vs/base/common/objects.js +0 -268
- package/lib/vs/base/common/paging.js +0 -190
- package/lib/vs/base/common/parsers.js +0 -78
- package/lib/vs/base/common/path.js +0 -1550
- package/lib/vs/base/common/platform.js +0 -245
- package/lib/vs/base/common/process.js +0 -52
- package/lib/vs/base/common/processes.js +0 -32
- package/lib/vs/base/common/range.js +0 -79
- package/lib/vs/base/common/resourceTree.js +0 -185
- package/lib/vs/base/common/resources.js +0 -421
- package/lib/vs/base/common/scanCode.js +0 -1472
- package/lib/vs/base/common/scrollable.js +0 -397
- package/lib/vs/base/common/search.js +0 -55
- package/lib/vs/base/common/sequence.js +0 -64
- package/lib/vs/base/common/severity.js +0 -55
- package/lib/vs/base/common/skipList.js +0 -234
- package/lib/vs/base/common/stopwatch.js +0 -45
- package/lib/vs/base/common/stream.js +0 -418
- package/lib/vs/base/common/strings.js +0 -1283
- package/lib/vs/base/common/styler.js +0 -9
- package/lib/vs/base/common/types.js +0 -296
- package/lib/vs/base/common/uint.js +0 -46
- package/lib/vs/base/common/uri.js +0 -756
- package/lib/vs/base/common/uriIpc.js +0 -154
- package/lib/vs/base/common/uuid.js +0 -70
- package/lib/vs/nls.mock.js +0 -31
- package/lib/vs/platform/actions/browser/menuEntryActionViewItem.js +0 -342
- package/lib/vs/platform/actions/common/actions.js +0 -456
- package/lib/vs/platform/actions/common/menuService.js +0 -194
- package/lib/vs/platform/clipboard/browser/clipboardService.js +0 -99
- package/lib/vs/platform/clipboard/common/clipboardService.js +0 -14
- package/lib/vs/platform/contextkey/common/contextkey.js +0 -1210
- package/lib/vs/platform/contextkey/common/contextkeys.js +0 -23
- package/lib/vs/platform/contextview/browser/contextView.js +0 -15
- package/lib/vs/platform/contextview/browser/contextViewService.js +0 -96
- package/lib/vs/platform/environment/common/argv.js +0 -9
- package/lib/vs/platform/environment/common/environment.js +0 -15
- package/lib/vs/platform/instantiation/common/descriptors.js +0 -25
- package/lib/vs/platform/instantiation/common/extensions.js +0 -26
- package/lib/vs/platform/instantiation/common/graph.js +0 -93
- package/lib/vs/platform/instantiation/common/instantiation.js +0 -84
- package/lib/vs/platform/instantiation/common/instantiationService.js +0 -361
- package/lib/vs/platform/instantiation/common/serviceCollection.js +0 -39
- package/lib/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -73
- package/lib/vs/platform/keybinding/common/keybinding.js +0 -14
- package/lib/vs/platform/keybinding/common/keybindingResolver.js +0 -391
- package/lib/vs/platform/keybinding/common/keybindingsRegistry.js +0 -229
- package/lib/vs/platform/keybinding/common/resolvedKeybindingItem.js +0 -47
- package/lib/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +0 -160
- package/lib/vs/platform/layout/browser/layoutService.js +0 -14
- package/lib/vs/platform/menubar/common/menubar.js +0 -34
- package/lib/vs/platform/registry/common/platform.js +0 -38
- package/lib/vs/platform/theme/browser/checkbox.js +0 -32
- package/lib/vs/platform/theme/common/colorRegistry.js +0 -1154
- package/lib/vs/platform/theme/common/styler.js +0 -290
- package/lib/vs/platform/theme/common/theme.js +0 -21
- package/lib/vs/platform/theme/common/themeService.js +0 -176
- package/lib/vs/platform/theme/common/tokenClassificationRegistry.js +0 -540
- package/lib/vs/platform/theme/test/common/testThemeService.js +0 -98
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.InstantiationService = void 0;
|
|
11
|
-
|
|
12
|
-
const errors_1 = require("../../../base/common/errors");
|
|
13
|
-
|
|
14
|
-
const graph_1 = require("./graph");
|
|
15
|
-
|
|
16
|
-
const descriptors_1 = require("./descriptors");
|
|
17
|
-
|
|
18
|
-
const instantiation_1 = require("./instantiation");
|
|
19
|
-
|
|
20
|
-
const serviceCollection_1 = require("./serviceCollection");
|
|
21
|
-
|
|
22
|
-
const async_1 = require("../../../base/common/async"); // TRACING
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const _enableTracing = false;
|
|
26
|
-
|
|
27
|
-
class CyclicDependencyError extends Error {
|
|
28
|
-
constructor(graph) {
|
|
29
|
-
super('cyclic dependency between services');
|
|
30
|
-
this.message = graph.toString();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
class InstantiationService {
|
|
36
|
-
constructor(services = new serviceCollection_1.ServiceCollection(), strict = false, parent) {
|
|
37
|
-
this._services = services;
|
|
38
|
-
this._strict = strict;
|
|
39
|
-
this._parent = parent;
|
|
40
|
-
|
|
41
|
-
this._services.set(instantiation_1.IInstantiationService, this);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
createChild(services) {
|
|
45
|
-
return new InstantiationService(services, this._strict, this);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
invokeFunction(fn, ...args) {
|
|
49
|
-
let _trace = Trace.traceInvocation(fn);
|
|
50
|
-
|
|
51
|
-
let _done = false;
|
|
52
|
-
|
|
53
|
-
try {
|
|
54
|
-
const accessor = {
|
|
55
|
-
get: (id, isOptional) => {
|
|
56
|
-
if (_done) {
|
|
57
|
-
throw errors_1.illegalState('service accessor is only valid during the invocation of its target method');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const result = this._getOrCreateServiceInstance(id, _trace);
|
|
61
|
-
|
|
62
|
-
if (!result && isOptional !== instantiation_1.optional) {
|
|
63
|
-
throw new Error(`[invokeFunction] unknown service '${id}'`);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return result;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
return fn(accessor, ...args);
|
|
70
|
-
} finally {
|
|
71
|
-
_done = true;
|
|
72
|
-
|
|
73
|
-
_trace.stop();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
createInstance(ctorOrDescriptor, ...rest) {
|
|
78
|
-
let _trace;
|
|
79
|
-
|
|
80
|
-
let result;
|
|
81
|
-
|
|
82
|
-
if (ctorOrDescriptor instanceof descriptors_1.SyncDescriptor) {
|
|
83
|
-
_trace = Trace.traceCreation(ctorOrDescriptor.ctor);
|
|
84
|
-
result = this._createInstance(ctorOrDescriptor.ctor, ctorOrDescriptor.staticArguments.concat(rest), _trace);
|
|
85
|
-
} else {
|
|
86
|
-
_trace = Trace.traceCreation(ctorOrDescriptor);
|
|
87
|
-
result = this._createInstance(ctorOrDescriptor, rest, _trace);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
_trace.stop();
|
|
91
|
-
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
_createInstance(ctor, args = [], _trace) {
|
|
96
|
-
// arguments defined by service decorators
|
|
97
|
-
let serviceDependencies = instantiation_1._util.getServiceDependencies(ctor).sort((a, b) => a.index - b.index);
|
|
98
|
-
|
|
99
|
-
let serviceArgs = [];
|
|
100
|
-
|
|
101
|
-
for (const dependency of serviceDependencies) {
|
|
102
|
-
let service = this._getOrCreateServiceInstance(dependency.id, _trace);
|
|
103
|
-
|
|
104
|
-
if (!service && this._strict && !dependency.optional) {
|
|
105
|
-
throw new Error(`[createInstance] ${ctor.name} depends on UNKNOWN service ${dependency.id}.`);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
serviceArgs.push(service);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
let firstServiceArgPos = serviceDependencies.length > 0 ? serviceDependencies[0].index : args.length; // check for argument mismatches, adjust static args if needed
|
|
112
|
-
|
|
113
|
-
if (args.length !== firstServiceArgPos) {
|
|
114
|
-
console.warn(`[createInstance] First service dependency of ${ctor.name} at position ${firstServiceArgPos + 1} conflicts with ${args.length} static arguments`);
|
|
115
|
-
let delta = firstServiceArgPos - args.length;
|
|
116
|
-
|
|
117
|
-
if (delta > 0) {
|
|
118
|
-
args = args.concat(new Array(delta));
|
|
119
|
-
} else {
|
|
120
|
-
args = args.slice(0, firstServiceArgPos);
|
|
121
|
-
}
|
|
122
|
-
} // now create the instance
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return new ctor(...[...args, ...serviceArgs]);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
_setServiceInstance(id, instance) {
|
|
129
|
-
if (this._services.get(id) instanceof descriptors_1.SyncDescriptor) {
|
|
130
|
-
this._services.set(id, instance);
|
|
131
|
-
} else if (this._parent) {
|
|
132
|
-
this._parent._setServiceInstance(id, instance);
|
|
133
|
-
} else {
|
|
134
|
-
throw new Error('illegalState - setting UNKNOWN service instance');
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
_getServiceInstanceOrDescriptor(id) {
|
|
139
|
-
let instanceOrDesc = this._services.get(id);
|
|
140
|
-
|
|
141
|
-
if (!instanceOrDesc && this._parent) {
|
|
142
|
-
return this._parent._getServiceInstanceOrDescriptor(id);
|
|
143
|
-
} else {
|
|
144
|
-
return instanceOrDesc;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
_getOrCreateServiceInstance(id, _trace) {
|
|
149
|
-
let thing = this._getServiceInstanceOrDescriptor(id);
|
|
150
|
-
|
|
151
|
-
if (thing instanceof descriptors_1.SyncDescriptor) {
|
|
152
|
-
return this._createAndCacheServiceInstance(id, thing, _trace.branch(id, true));
|
|
153
|
-
} else {
|
|
154
|
-
_trace.branch(id, false);
|
|
155
|
-
|
|
156
|
-
return thing;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
_createAndCacheServiceInstance(id, desc, _trace) {
|
|
161
|
-
const graph = new graph_1.Graph(data => data.id.toString());
|
|
162
|
-
let cycleCount = 0;
|
|
163
|
-
const stack = [{
|
|
164
|
-
id,
|
|
165
|
-
desc,
|
|
166
|
-
_trace
|
|
167
|
-
}];
|
|
168
|
-
|
|
169
|
-
while (stack.length) {
|
|
170
|
-
const item = stack.pop();
|
|
171
|
-
graph.lookupOrInsertNode(item); // a weak but working heuristic for cycle checks
|
|
172
|
-
|
|
173
|
-
if (cycleCount++ > 1000) {
|
|
174
|
-
throw new CyclicDependencyError(graph);
|
|
175
|
-
} // check all dependencies for existence and if they need to be created first
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
for (let dependency of instantiation_1._util.getServiceDependencies(item.desc.ctor)) {
|
|
179
|
-
let instanceOrDesc = this._getServiceInstanceOrDescriptor(dependency.id);
|
|
180
|
-
|
|
181
|
-
if (!instanceOrDesc && !dependency.optional) {
|
|
182
|
-
console.warn(`[createInstance] ${id} depends on ${dependency.id} which is NOT registered.`);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if (instanceOrDesc instanceof descriptors_1.SyncDescriptor) {
|
|
186
|
-
const d = {
|
|
187
|
-
id: dependency.id,
|
|
188
|
-
desc: instanceOrDesc,
|
|
189
|
-
_trace: item._trace.branch(dependency.id, true)
|
|
190
|
-
};
|
|
191
|
-
graph.insertEdge(item, d);
|
|
192
|
-
stack.push(d);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
while (true) {
|
|
198
|
-
const roots = graph.roots(); // if there is no more roots but still
|
|
199
|
-
// nodes in the graph we have a cycle
|
|
200
|
-
|
|
201
|
-
if (roots.length === 0) {
|
|
202
|
-
if (!graph.isEmpty()) {
|
|
203
|
-
throw new CyclicDependencyError(graph);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
for (const {
|
|
210
|
-
data
|
|
211
|
-
} of roots) {
|
|
212
|
-
// Repeat the check for this still being a service sync descriptor. That's because
|
|
213
|
-
// instantiating a dependency might have side-effect and recursively trigger instantiation
|
|
214
|
-
// so that some dependencies are now fullfilled already.
|
|
215
|
-
const instanceOrDesc = this._getServiceInstanceOrDescriptor(data.id);
|
|
216
|
-
|
|
217
|
-
if (instanceOrDesc instanceof descriptors_1.SyncDescriptor) {
|
|
218
|
-
// create instance and overwrite the service collections
|
|
219
|
-
const instance = this._createServiceInstanceWithOwner(data.id, data.desc.ctor, data.desc.staticArguments, data.desc.supportsDelayedInstantiation, data._trace);
|
|
220
|
-
|
|
221
|
-
this._setServiceInstance(data.id, instance);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
graph.removeNode(data);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return this._getServiceInstanceOrDescriptor(id);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
_createServiceInstanceWithOwner(id, ctor, args = [], supportsDelayedInstantiation, _trace) {
|
|
232
|
-
if (this._services.get(id) instanceof descriptors_1.SyncDescriptor) {
|
|
233
|
-
return this._createServiceInstance(ctor, args, supportsDelayedInstantiation, _trace);
|
|
234
|
-
} else if (this._parent) {
|
|
235
|
-
return this._parent._createServiceInstanceWithOwner(id, ctor, args, supportsDelayedInstantiation, _trace);
|
|
236
|
-
} else {
|
|
237
|
-
throw new Error(`illegalState - creating UNKNOWN service instance ${ctor.name}`);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
_createServiceInstance(ctor, args = [], _supportsDelayedInstantiation, _trace) {
|
|
242
|
-
if (!_supportsDelayedInstantiation) {
|
|
243
|
-
// eager instantiation
|
|
244
|
-
return this._createInstance(ctor, args, _trace);
|
|
245
|
-
} else {
|
|
246
|
-
// Return a proxy object that's backed by an idle value. That
|
|
247
|
-
// strategy is to instantiate services in our idle time or when actually
|
|
248
|
-
// needed but not when injected into a consumer
|
|
249
|
-
const idle = new async_1.IdleValue(() => this._createInstance(ctor, args, _trace));
|
|
250
|
-
return new Proxy(Object.create(null), {
|
|
251
|
-
get(target, key) {
|
|
252
|
-
if (key in target) {
|
|
253
|
-
return target[key];
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
let obj = idle.value;
|
|
257
|
-
let prop = obj[key];
|
|
258
|
-
|
|
259
|
-
if (typeof prop !== 'function') {
|
|
260
|
-
return prop;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
prop = prop.bind(obj);
|
|
264
|
-
target[key] = prop;
|
|
265
|
-
return prop;
|
|
266
|
-
},
|
|
267
|
-
|
|
268
|
-
set(_target, p, value) {
|
|
269
|
-
idle.value[p] = value;
|
|
270
|
-
return true;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
exports.InstantiationService = InstantiationService;
|
|
280
|
-
|
|
281
|
-
class Trace {
|
|
282
|
-
constructor(type, name) {
|
|
283
|
-
this.type = type;
|
|
284
|
-
this.name = name;
|
|
285
|
-
this._start = Date.now();
|
|
286
|
-
this._dep = [];
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
static traceInvocation(ctor) {
|
|
290
|
-
return !_enableTracing ? Trace._None : new Trace(1
|
|
291
|
-
/* Invocation */
|
|
292
|
-
, ctor.name || ctor.toString().substring(0, 42).replace(/\n/g, ''));
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
static traceCreation(ctor) {
|
|
296
|
-
return !_enableTracing ? Trace._None : new Trace(0
|
|
297
|
-
/* Creation */
|
|
298
|
-
, ctor.name);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
branch(id, first) {
|
|
302
|
-
let child = new Trace(2
|
|
303
|
-
/* Branch */
|
|
304
|
-
, id.toString());
|
|
305
|
-
|
|
306
|
-
this._dep.push([id, first, child]);
|
|
307
|
-
|
|
308
|
-
return child;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
stop() {
|
|
312
|
-
let dur = Date.now() - this._start;
|
|
313
|
-
|
|
314
|
-
Trace._totals += dur;
|
|
315
|
-
let causedCreation = false;
|
|
316
|
-
|
|
317
|
-
function printChild(n, trace) {
|
|
318
|
-
let res = [];
|
|
319
|
-
let prefix = new Array(n + 1).join('\t');
|
|
320
|
-
|
|
321
|
-
for (const [id, first, child] of trace._dep) {
|
|
322
|
-
if (first && child) {
|
|
323
|
-
causedCreation = true;
|
|
324
|
-
res.push(`${prefix}CREATES -> ${id}`);
|
|
325
|
-
let nested = printChild(n + 1, child);
|
|
326
|
-
|
|
327
|
-
if (nested) {
|
|
328
|
-
res.push(nested);
|
|
329
|
-
}
|
|
330
|
-
} else {
|
|
331
|
-
res.push(`${prefix}uses -> ${id}`);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
return res.join('\n');
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
let lines = [`${this.type === 0
|
|
339
|
-
/* Creation */
|
|
340
|
-
? 'CREATE' : 'CALL'} ${this.name}`, `${printChild(1, this)}`, `DONE, took ${dur.toFixed(2)}ms (grand total ${Trace._totals.toFixed(2)}ms)`];
|
|
341
|
-
|
|
342
|
-
if (dur > 2 || causedCreation) {
|
|
343
|
-
console.log(lines.join('\n'));
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
Trace._None = new class extends Trace {
|
|
350
|
-
constructor() {
|
|
351
|
-
super(-1, null);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
stop() {}
|
|
355
|
-
|
|
356
|
-
branch() {
|
|
357
|
-
return this;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
}();
|
|
361
|
-
Trace._totals = 0; //#endregion
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.ServiceCollection = void 0;
|
|
11
|
-
|
|
12
|
-
class ServiceCollection {
|
|
13
|
-
constructor(...entries) {
|
|
14
|
-
this._entries = new Map();
|
|
15
|
-
|
|
16
|
-
for (let [id, service] of entries) {
|
|
17
|
-
this.set(id, service);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
set(id, instanceOrDescriptor) {
|
|
22
|
-
const result = this._entries.get(id);
|
|
23
|
-
|
|
24
|
-
this._entries.set(id, instanceOrDescriptor);
|
|
25
|
-
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
has(id) {
|
|
30
|
-
return this._entries.has(id);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
get(id) {
|
|
34
|
-
return this._entries.get(id);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
exports.ServiceCollection = ServiceCollection;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.BaseResolvedKeybinding = void 0;
|
|
11
|
-
|
|
12
|
-
const errors_1 = require("../../../base/common/errors");
|
|
13
|
-
|
|
14
|
-
const keybindingLabels_1 = require("../../../base/common/keybindingLabels");
|
|
15
|
-
|
|
16
|
-
const keyCodes_1 = require("../../../base/common/keyCodes");
|
|
17
|
-
|
|
18
|
-
class BaseResolvedKeybinding extends keyCodes_1.ResolvedKeybinding {
|
|
19
|
-
constructor(os, parts) {
|
|
20
|
-
super();
|
|
21
|
-
|
|
22
|
-
if (parts.length === 0) {
|
|
23
|
-
throw errors_1.illegalArgument(`parts`);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
this._os = os;
|
|
27
|
-
this._parts = parts;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
getLabel() {
|
|
31
|
-
return keybindingLabels_1.UILabelProvider.toLabel(this._os, this._parts, keybinding => this._getLabel(keybinding));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getAriaLabel() {
|
|
35
|
-
return keybindingLabels_1.AriaLabelProvider.toLabel(this._os, this._parts, keybinding => this._getAriaLabel(keybinding));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
getElectronAccelerator() {
|
|
39
|
-
if (this._parts.length > 1) {
|
|
40
|
-
// Electron cannot handle chords
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return keybindingLabels_1.ElectronAcceleratorLabelProvider.toLabel(this._os, this._parts, keybinding => this._getElectronAccelerator(keybinding));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
getUserSettingsLabel() {
|
|
48
|
-
return keybindingLabels_1.UserSettingsLabelProvider.toLabel(this._os, this._parts, keybinding => this._getUserSettingsLabel(keybinding));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
isWYSIWYG() {
|
|
52
|
-
return this._parts.every(keybinding => this._isWYSIWYG(keybinding));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
isChord() {
|
|
56
|
-
return this._parts.length > 1;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
getParts() {
|
|
60
|
-
return this._parts.map(keybinding => this._getPart(keybinding));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
_getPart(keybinding) {
|
|
64
|
-
return new keyCodes_1.ResolvedKeybindingPart(keybinding.ctrlKey, keybinding.shiftKey, keybinding.altKey, keybinding.metaKey, this._getLabel(keybinding), this._getAriaLabel(keybinding));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
getDispatchParts() {
|
|
68
|
-
return this._parts.map(keybinding => this._getDispatchPart(keybinding));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
exports.BaseResolvedKeybinding = BaseResolvedKeybinding;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.IKeybindingService = void 0;
|
|
11
|
-
|
|
12
|
-
const instantiation_1 = require("../../instantiation/common/instantiation");
|
|
13
|
-
|
|
14
|
-
exports.IKeybindingService = instantiation_1.createDecorator('keybindingService');
|