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,308 +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.ImmortalReference = exports.ReferenceCollection = exports.MutableDisposable = exports.Disposable = exports.DisposableStore = exports.toDisposable = exports.combinedDisposable = exports.dispose = exports.isDisposable = exports.MultiDisposeError = void 0;
|
|
11
|
-
|
|
12
|
-
const functional_1 = require("./functional");
|
|
13
|
-
|
|
14
|
-
const iterator_1 = require("./iterator");
|
|
15
|
-
/**
|
|
16
|
-
* Enables logging of potentially leaked disposables.
|
|
17
|
-
*
|
|
18
|
-
* A disposable is considered leaked if it is not disposed or not registered as the child of
|
|
19
|
-
* another disposable. This tracking is very simple an only works for classes that either
|
|
20
|
-
* extend Disposable or use a DisposableStore. This means there are a lot of false positives.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const TRACK_DISPOSABLES = false;
|
|
25
|
-
const __is_disposable_tracked__ = '__is_disposable_tracked__';
|
|
26
|
-
|
|
27
|
-
function markTracked(x) {
|
|
28
|
-
if (!TRACK_DISPOSABLES) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (x && x !== Disposable.None) {
|
|
33
|
-
try {
|
|
34
|
-
x[__is_disposable_tracked__] = true;
|
|
35
|
-
} catch {// noop
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function trackDisposable(x) {
|
|
41
|
-
if (!TRACK_DISPOSABLES) {
|
|
42
|
-
return x;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const stack = new Error('Potentially leaked disposable').stack;
|
|
46
|
-
setTimeout(() => {
|
|
47
|
-
if (!x[__is_disposable_tracked__]) {
|
|
48
|
-
console.log(stack);
|
|
49
|
-
}
|
|
50
|
-
}, 3000);
|
|
51
|
-
return x;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
class MultiDisposeError extends Error {
|
|
55
|
-
constructor(errors) {
|
|
56
|
-
super(`Encounter errors while disposing of store. Errors: [${errors.join(', ')}]`);
|
|
57
|
-
this.errors = errors;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
exports.MultiDisposeError = MultiDisposeError;
|
|
63
|
-
|
|
64
|
-
function isDisposable(thing) {
|
|
65
|
-
return typeof thing.dispose === 'function' && thing.dispose.length === 0;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
exports.isDisposable = isDisposable;
|
|
69
|
-
|
|
70
|
-
function dispose(arg) {
|
|
71
|
-
if (iterator_1.Iterable.is(arg)) {
|
|
72
|
-
let errors = [];
|
|
73
|
-
|
|
74
|
-
for (const d of arg) {
|
|
75
|
-
if (d) {
|
|
76
|
-
markTracked(d);
|
|
77
|
-
|
|
78
|
-
try {
|
|
79
|
-
d.dispose();
|
|
80
|
-
} catch (e) {
|
|
81
|
-
errors.push(e);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (errors.length === 1) {
|
|
87
|
-
throw errors[0];
|
|
88
|
-
} else if (errors.length > 1) {
|
|
89
|
-
throw new MultiDisposeError(errors);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return Array.isArray(arg) ? [] : arg;
|
|
93
|
-
} else if (arg) {
|
|
94
|
-
markTracked(arg);
|
|
95
|
-
arg.dispose();
|
|
96
|
-
return arg;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
exports.dispose = dispose;
|
|
101
|
-
|
|
102
|
-
function combinedDisposable(...disposables) {
|
|
103
|
-
disposables.forEach(markTracked);
|
|
104
|
-
return trackDisposable({
|
|
105
|
-
dispose: () => dispose(disposables)
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
exports.combinedDisposable = combinedDisposable;
|
|
110
|
-
|
|
111
|
-
function toDisposable(fn) {
|
|
112
|
-
const self = trackDisposable({
|
|
113
|
-
dispose: () => {
|
|
114
|
-
markTracked(self);
|
|
115
|
-
fn();
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return self;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
exports.toDisposable = toDisposable;
|
|
122
|
-
|
|
123
|
-
class DisposableStore {
|
|
124
|
-
constructor() {
|
|
125
|
-
this._toDispose = new Set();
|
|
126
|
-
this._isDisposed = false;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Dispose of all registered disposables and mark this object as disposed.
|
|
130
|
-
*
|
|
131
|
-
* Any future disposables added to this object will be disposed of on `add`.
|
|
132
|
-
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
dispose() {
|
|
136
|
-
if (this._isDisposed) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
markTracked(this);
|
|
141
|
-
this._isDisposed = true;
|
|
142
|
-
this.clear();
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Dispose of all registered disposables but do not mark this object as disposed.
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
clear() {
|
|
150
|
-
try {
|
|
151
|
-
dispose(this._toDispose.values());
|
|
152
|
-
} finally {
|
|
153
|
-
this._toDispose.clear();
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
add(t) {
|
|
158
|
-
if (!t) {
|
|
159
|
-
return t;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
if (t === this) {
|
|
163
|
-
throw new Error('Cannot register a disposable on itself!');
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
markTracked(t);
|
|
167
|
-
|
|
168
|
-
if (this._isDisposed) {
|
|
169
|
-
if (!DisposableStore.DISABLE_DISPOSED_WARNING) {
|
|
170
|
-
console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);
|
|
171
|
-
}
|
|
172
|
-
} else {
|
|
173
|
-
this._toDispose.add(t);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return t;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
exports.DisposableStore = DisposableStore;
|
|
182
|
-
DisposableStore.DISABLE_DISPOSED_WARNING = false;
|
|
183
|
-
|
|
184
|
-
class Disposable {
|
|
185
|
-
constructor() {
|
|
186
|
-
this._store = new DisposableStore();
|
|
187
|
-
trackDisposable(this);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
dispose() {
|
|
191
|
-
markTracked(this);
|
|
192
|
-
|
|
193
|
-
this._store.dispose();
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
_register(t) {
|
|
197
|
-
if (t === this) {
|
|
198
|
-
throw new Error('Cannot register a disposable on itself!');
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
return this._store.add(t);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
exports.Disposable = Disposable;
|
|
207
|
-
Disposable.None = Object.freeze({
|
|
208
|
-
dispose() {}
|
|
209
|
-
|
|
210
|
-
});
|
|
211
|
-
/**
|
|
212
|
-
* Manages the lifecycle of a disposable value that may be changed.
|
|
213
|
-
*
|
|
214
|
-
* This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can
|
|
215
|
-
* also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.
|
|
216
|
-
*/
|
|
217
|
-
|
|
218
|
-
class MutableDisposable {
|
|
219
|
-
constructor() {
|
|
220
|
-
this._isDisposed = false;
|
|
221
|
-
trackDisposable(this);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
get value() {
|
|
225
|
-
return this._isDisposed ? undefined : this._value;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
set value(value) {
|
|
229
|
-
if (this._isDisposed || value === this._value) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if (this._value) {
|
|
234
|
-
this._value.dispose();
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
if (value) {
|
|
238
|
-
markTracked(value);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
this._value = value;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
clear() {
|
|
245
|
-
this.value = undefined;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
dispose() {
|
|
249
|
-
this._isDisposed = true;
|
|
250
|
-
markTracked(this);
|
|
251
|
-
|
|
252
|
-
if (this._value) {
|
|
253
|
-
this._value.dispose();
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
this._value = undefined;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
exports.MutableDisposable = MutableDisposable;
|
|
262
|
-
|
|
263
|
-
class ReferenceCollection {
|
|
264
|
-
constructor() {
|
|
265
|
-
this.references = new Map();
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
acquire(key, ...args) {
|
|
269
|
-
let reference = this.references.get(key);
|
|
270
|
-
|
|
271
|
-
if (!reference) {
|
|
272
|
-
reference = {
|
|
273
|
-
counter: 0,
|
|
274
|
-
object: this.createReferencedObject(key, ...args)
|
|
275
|
-
};
|
|
276
|
-
this.references.set(key, reference);
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
const {
|
|
280
|
-
object
|
|
281
|
-
} = reference;
|
|
282
|
-
const dispose = functional_1.once(() => {
|
|
283
|
-
if (--reference.counter === 0) {
|
|
284
|
-
this.destroyReferencedObject(key, reference.object);
|
|
285
|
-
this.references.delete(key);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
reference.counter++;
|
|
289
|
-
return {
|
|
290
|
-
object,
|
|
291
|
-
dispose
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
exports.ReferenceCollection = ReferenceCollection;
|
|
298
|
-
|
|
299
|
-
class ImmortalReference {
|
|
300
|
-
constructor(object) {
|
|
301
|
-
this.object = object;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
dispose() {}
|
|
305
|
-
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
exports.ImmortalReference = ImmortalReference;
|
|
@@ -1,152 +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.LinkedList = void 0;
|
|
11
|
-
|
|
12
|
-
class Node {
|
|
13
|
-
constructor(element) {
|
|
14
|
-
this.element = element;
|
|
15
|
-
this.next = Node.Undefined;
|
|
16
|
-
this.prev = Node.Undefined;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
Node.Undefined = new Node(undefined);
|
|
22
|
-
|
|
23
|
-
class LinkedList {
|
|
24
|
-
constructor() {
|
|
25
|
-
this._first = Node.Undefined;
|
|
26
|
-
this._last = Node.Undefined;
|
|
27
|
-
this._size = 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
get size() {
|
|
31
|
-
return this._size;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
isEmpty() {
|
|
35
|
-
return this._first === Node.Undefined;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
clear() {
|
|
39
|
-
this._first = Node.Undefined;
|
|
40
|
-
this._last = Node.Undefined;
|
|
41
|
-
this._size = 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
unshift(element) {
|
|
45
|
-
return this._insert(element, false);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
push(element) {
|
|
49
|
-
return this._insert(element, true);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
_insert(element, atTheEnd) {
|
|
53
|
-
const newNode = new Node(element);
|
|
54
|
-
|
|
55
|
-
if (this._first === Node.Undefined) {
|
|
56
|
-
this._first = newNode;
|
|
57
|
-
this._last = newNode;
|
|
58
|
-
} else if (atTheEnd) {
|
|
59
|
-
// push
|
|
60
|
-
const oldLast = this._last;
|
|
61
|
-
this._last = newNode;
|
|
62
|
-
newNode.prev = oldLast;
|
|
63
|
-
oldLast.next = newNode;
|
|
64
|
-
} else {
|
|
65
|
-
// unshift
|
|
66
|
-
const oldFirst = this._first;
|
|
67
|
-
this._first = newNode;
|
|
68
|
-
newNode.next = oldFirst;
|
|
69
|
-
oldFirst.prev = newNode;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
this._size += 1;
|
|
73
|
-
let didRemove = false;
|
|
74
|
-
return () => {
|
|
75
|
-
if (!didRemove) {
|
|
76
|
-
didRemove = true;
|
|
77
|
-
|
|
78
|
-
this._remove(newNode);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
shift() {
|
|
84
|
-
if (this._first === Node.Undefined) {
|
|
85
|
-
return undefined;
|
|
86
|
-
} else {
|
|
87
|
-
const res = this._first.element;
|
|
88
|
-
|
|
89
|
-
this._remove(this._first);
|
|
90
|
-
|
|
91
|
-
return res;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
pop() {
|
|
96
|
-
if (this._last === Node.Undefined) {
|
|
97
|
-
return undefined;
|
|
98
|
-
} else {
|
|
99
|
-
const res = this._last.element;
|
|
100
|
-
|
|
101
|
-
this._remove(this._last);
|
|
102
|
-
|
|
103
|
-
return res;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
_remove(node) {
|
|
108
|
-
if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {
|
|
109
|
-
// middle
|
|
110
|
-
const anchor = node.prev;
|
|
111
|
-
anchor.next = node.next;
|
|
112
|
-
node.next.prev = anchor;
|
|
113
|
-
} else if (node.prev === Node.Undefined && node.next === Node.Undefined) {
|
|
114
|
-
// only node
|
|
115
|
-
this._first = Node.Undefined;
|
|
116
|
-
this._last = Node.Undefined;
|
|
117
|
-
} else if (node.next === Node.Undefined) {
|
|
118
|
-
// last
|
|
119
|
-
this._last = this._last.prev;
|
|
120
|
-
this._last.next = Node.Undefined;
|
|
121
|
-
} else if (node.prev === Node.Undefined) {
|
|
122
|
-
// first
|
|
123
|
-
this._first = this._first.next;
|
|
124
|
-
this._first.prev = Node.Undefined;
|
|
125
|
-
} // done
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
this._size -= 1;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
*[Symbol.iterator]() {
|
|
132
|
-
let node = this._first;
|
|
133
|
-
|
|
134
|
-
while (node !== Node.Undefined) {
|
|
135
|
-
yield node.element;
|
|
136
|
-
node = node.next;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
toArray() {
|
|
141
|
-
const result = [];
|
|
142
|
-
|
|
143
|
-
for (let node = this._first; node !== Node.Undefined; node = node.next) {
|
|
144
|
-
result.push(node.element);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return result;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
exports.LinkedList = LinkedList;
|
|
@@ -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
|
-
var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
|
|
8
|
-
var c = arguments.length,
|
|
9
|
-
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
10
|
-
d;
|
|
11
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
Object.defineProperty(exports, "__esModule", {
|
|
16
|
-
value: true
|
|
17
|
-
});
|
|
18
|
-
exports.parseLinkedText = exports.LinkedText = void 0;
|
|
19
|
-
|
|
20
|
-
const decorators_1 = require("./decorators");
|
|
21
|
-
|
|
22
|
-
class LinkedText {
|
|
23
|
-
constructor(nodes) {
|
|
24
|
-
this.nodes = nodes;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
toString() {
|
|
28
|
-
return this.nodes.map(node => typeof node === 'string' ? node : node.label).join('');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
__decorate([decorators_1.memoize], LinkedText.prototype, "toString", null);
|
|
34
|
-
|
|
35
|
-
exports.LinkedText = LinkedText;
|
|
36
|
-
const LINK_REGEX = /\[([^\]]+)\]\(((?:https?:\/\/|command:)[^\)\s]+)(?: ("|')([^\3]+)(\3))?\)/gi;
|
|
37
|
-
|
|
38
|
-
function parseLinkedText(text) {
|
|
39
|
-
const result = [];
|
|
40
|
-
let index = 0;
|
|
41
|
-
let match;
|
|
42
|
-
|
|
43
|
-
while (match = LINK_REGEX.exec(text)) {
|
|
44
|
-
if (match.index - index > 0) {
|
|
45
|
-
result.push(text.substring(index, match.index));
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const [, label, href,, title] = match;
|
|
49
|
-
|
|
50
|
-
if (title) {
|
|
51
|
-
result.push({
|
|
52
|
-
label,
|
|
53
|
-
href,
|
|
54
|
-
title
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
result.push({
|
|
58
|
-
label,
|
|
59
|
-
href
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
index = match.index + match[0].length;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (index < text.length) {
|
|
67
|
-
result.push(text.substring(index));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return new LinkedText(result);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
exports.parseLinkedText = parseLinkedText;
|