@codingame/monaco-vscode-debug-service-override 1.82.4 → 1.82.5-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/debug.d.ts +5 -0
  2. package/debug.js +24 -0
  3. package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
  4. package/external/tslib/tslib.es6.js +11 -0
  5. package/index.d.ts +1 -1
  6. package/index.js +1 -1
  7. package/override/vs/platform/dialogs/common/dialogs.js +8 -0
  8. package/package.json +2 -2
  9. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +44 -0
  10. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +200 -0
  11. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +785 -0
  12. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +399 -0
  13. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +1298 -0
  14. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +178 -0
  15. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +960 -0
  16. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +497 -0
  17. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +347 -0
  18. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +299 -0
  19. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +400 -0
  20. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +827 -0
  21. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +621 -0
  22. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +60 -0
  23. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +527 -0
  24. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +681 -0
  25. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +356 -0
  26. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +206 -0
  27. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +82 -0
  28. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +143 -0
  29. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +1174 -0
  30. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +1144 -0
  31. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +106 -0
  32. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +68 -0
  33. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +275 -0
  34. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +314 -0
  35. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +168 -0
  36. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +663 -0
  37. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +105 -0
  38. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +231 -0
  39. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +631 -0
  40. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +6 -0
  41. package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +6 -0
  42. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +6 -0
  43. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +6 -0
  44. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +6 -0
  45. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +6 -0
  46. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +6 -0
  47. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +6 -0
  48. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +695 -0
  49. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +953 -0
  50. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +48 -0
  51. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +336 -0
  52. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +98 -0
  53. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +575 -0
  54. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +415 -0
  55. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +102 -0
  56. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +21 -0
  57. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +17 -0
  58. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +100 -0
  59. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +59 -0
  60. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +1482 -0
  61. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +346 -0
  62. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +123 -0
  63. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +175 -0
  64. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +36 -0
  65. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +117 -0
  66. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +260 -0
  67. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +27 -0
  68. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +83 -0
  69. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +283 -0
  70. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +305 -0
  71. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +28 -0
  72. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +176 -0
  73. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +12 -0
@@ -0,0 +1,631 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
3
+ import { isAbsolute, normalize, posix } from 'monaco-editor/esm/vs/base/common/path.js';
4
+ import { ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
5
+ import { IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
6
+ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
7
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
8
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
9
+ import { renderViewTree } from './baseDebugView.js';
10
+ import { CONTEXT_LOADED_SCRIPTS_ITEM_TYPE, IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
11
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
12
+ import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
13
+ import { normalizeDriveLetter, tildify } from 'monaco-editor/esm/vs/base/common/labels.js';
14
+ import { isWindows } from 'monaco-editor/esm/vs/base/common/platform.js';
15
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
16
+ import { ltrim } from 'monaco-editor/esm/vs/base/common/strings.js';
17
+ import { RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/async.js';
18
+ import { ResourceLabels } from 'vscode/vscode/vs/workbench/browser/labels';
19
+ import { FileKind } from 'monaco-editor/esm/vs/platform/files/common/files.js';
20
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
21
+ import { WorkbenchCompressibleObjectTree } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
22
+ import { dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
23
+ import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
24
+ import { DebugContentProvider } from '../common/debugContentProvider.js';
25
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
26
+ import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
27
+ import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
28
+ import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
29
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
30
+ import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService';
31
+ import { TreeFindMode } from 'monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js';
32
+
33
+ const NEW_STYLE_COMPRESS = true;
34
+ const URI_SCHEMA_PATTERN = /^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/;
35
+ class BaseTreeItem {
36
+ constructor(_parent, _label, isIncompressible = false) {
37
+ this._parent = _parent;
38
+ this._label = _label;
39
+ this.isIncompressible = isIncompressible;
40
+ this._children = ( new Map());
41
+ this._showedMoreThanOne = false;
42
+ }
43
+ updateLabel(label) {
44
+ this._label = label;
45
+ }
46
+ isLeaf() {
47
+ return this._children.size === 0;
48
+ }
49
+ getSession() {
50
+ if (this._parent) {
51
+ return this._parent.getSession();
52
+ }
53
+ return undefined;
54
+ }
55
+ setSource(session, source) {
56
+ this._source = source;
57
+ this._children.clear();
58
+ if (source.raw && source.raw.sources) {
59
+ for (const src of source.raw.sources) {
60
+ if (src.name && src.path) {
61
+ const s = ( new BaseTreeItem(this, src.name));
62
+ this._children.set(src.path, s);
63
+ const ss = session.getSource(src);
64
+ s.setSource(session, ss);
65
+ }
66
+ }
67
+ }
68
+ }
69
+ createIfNeeded(key, factory) {
70
+ let child = this._children.get(key);
71
+ if (!child) {
72
+ child = factory(this, key);
73
+ this._children.set(key, child);
74
+ }
75
+ return child;
76
+ }
77
+ getChild(key) {
78
+ return this._children.get(key);
79
+ }
80
+ remove(key) {
81
+ this._children.delete(key);
82
+ }
83
+ removeFromParent() {
84
+ if (this._parent) {
85
+ this._parent.remove(this._label);
86
+ if (this._parent._children.size === 0) {
87
+ this._parent.removeFromParent();
88
+ }
89
+ }
90
+ }
91
+ getTemplateId() {
92
+ return 'id';
93
+ }
94
+ getId() {
95
+ const parent = this.getParent();
96
+ return parent ? `${parent.getId()}/${this.getInternalId()}` : this.getInternalId();
97
+ }
98
+ getInternalId() {
99
+ return this._label;
100
+ }
101
+ getParent() {
102
+ if (this._parent) {
103
+ if (this._parent.isSkipped()) {
104
+ return this._parent.getParent();
105
+ }
106
+ return this._parent;
107
+ }
108
+ return undefined;
109
+ }
110
+ isSkipped() {
111
+ if (this._parent) {
112
+ if (this._parent.oneChild()) {
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+ hasChildren() {
120
+ const child = this.oneChild();
121
+ if (child) {
122
+ return child.hasChildren();
123
+ }
124
+ return this._children.size > 0;
125
+ }
126
+ getChildren() {
127
+ const child = this.oneChild();
128
+ if (child) {
129
+ return child.getChildren();
130
+ }
131
+ const array = [];
132
+ for (const child of ( this._children.values())) {
133
+ array.push(child);
134
+ }
135
+ return array.sort((a, b) => this.compare(a, b));
136
+ }
137
+ getLabel(separateRootFolder = true) {
138
+ const child = this.oneChild();
139
+ if (child) {
140
+ const sep = (this instanceof RootFolderTreeItem && separateRootFolder) ? ' • ' : posix.sep;
141
+ return `${this._label}${sep}${child.getLabel()}`;
142
+ }
143
+ return this._label;
144
+ }
145
+ getHoverLabel() {
146
+ if (this._source && this._parent && this._parent._source) {
147
+ return this._source.raw.path || this._source.raw.name;
148
+ }
149
+ const label = this.getLabel(false);
150
+ const parent = this.getParent();
151
+ if (parent) {
152
+ const hover = parent.getHoverLabel();
153
+ if (hover) {
154
+ return `${hover}/${label}`;
155
+ }
156
+ }
157
+ return label;
158
+ }
159
+ getSource() {
160
+ const child = this.oneChild();
161
+ if (child) {
162
+ return child.getSource();
163
+ }
164
+ return this._source;
165
+ }
166
+ compare(a, b) {
167
+ if (a._label && b._label) {
168
+ return a._label.localeCompare(b._label);
169
+ }
170
+ return 0;
171
+ }
172
+ oneChild() {
173
+ if (!this._source && !this._showedMoreThanOne && this.skipOneChild()) {
174
+ if (this._children.size === 1) {
175
+ return ( this._children.values()).next().value;
176
+ }
177
+ if (this._children.size > 1) {
178
+ this._showedMoreThanOne = true;
179
+ }
180
+ }
181
+ return undefined;
182
+ }
183
+ skipOneChild() {
184
+ {
185
+ return this instanceof RootTreeItem;
186
+ }
187
+ }
188
+ }
189
+ class RootFolderTreeItem extends BaseTreeItem {
190
+ constructor(parent, folder) {
191
+ super(parent, folder.name, true);
192
+ this.folder = folder;
193
+ }
194
+ }
195
+ class RootTreeItem extends BaseTreeItem {
196
+ constructor(_pathService, _contextService, _labelService) {
197
+ super(undefined, 'Root');
198
+ this._pathService = _pathService;
199
+ this._contextService = _contextService;
200
+ this._labelService = _labelService;
201
+ }
202
+ add(session) {
203
+ return this.createIfNeeded(session.getId(), () => ( new SessionTreeItem(this._labelService, this, session, this._pathService, this._contextService)));
204
+ }
205
+ find(session) {
206
+ return this.getChild(session.getId());
207
+ }
208
+ }
209
+ class SessionTreeItem extends BaseTreeItem {
210
+ static { this.URL_REGEXP = /^(https?:\/\/[^/]+)(\/.*)$/; }
211
+ constructor(labelService, parent, session, _pathService, rootProvider) {
212
+ super(parent, session.getLabel(), true);
213
+ this._pathService = _pathService;
214
+ this.rootProvider = rootProvider;
215
+ this._map = ( new Map());
216
+ this._labelService = labelService;
217
+ this._session = session;
218
+ }
219
+ getInternalId() {
220
+ return this._session.getId();
221
+ }
222
+ getSession() {
223
+ return this._session;
224
+ }
225
+ getHoverLabel() {
226
+ return undefined;
227
+ }
228
+ hasChildren() {
229
+ return true;
230
+ }
231
+ compare(a, b) {
232
+ const acat = this.category(a);
233
+ const bcat = this.category(b);
234
+ if (acat !== bcat) {
235
+ return acat - bcat;
236
+ }
237
+ return super.compare(a, b);
238
+ }
239
+ category(item) {
240
+ if (item instanceof RootFolderTreeItem) {
241
+ return item.folder.index;
242
+ }
243
+ const l = item.getLabel();
244
+ if (l && /^<.+>$/.test(l)) {
245
+ return 1000;
246
+ }
247
+ return 999;
248
+ }
249
+ async addPath(source) {
250
+ let folder;
251
+ let url;
252
+ let path = source.raw.path;
253
+ if (!path) {
254
+ return;
255
+ }
256
+ if (this._labelService && URI_SCHEMA_PATTERN.test(path)) {
257
+ path = this._labelService.getUriLabel(( URI.parse(path)));
258
+ }
259
+ const match = SessionTreeItem.URL_REGEXP.exec(path);
260
+ if (match && match.length === 3) {
261
+ url = match[1];
262
+ path = decodeURI(match[2]);
263
+ }
264
+ else {
265
+ if (isAbsolute(path)) {
266
+ const resource = URI.file(path);
267
+ folder = this.rootProvider ? this.rootProvider.getWorkspaceFolder(resource) : null;
268
+ if (folder) {
269
+ path = normalize(ltrim(resource.path.substring(folder.uri.path.length), posix.sep));
270
+ const hasMultipleRoots = this.rootProvider.getWorkspace().folders.length > 1;
271
+ if (hasMultipleRoots) {
272
+ path = posix.sep + path;
273
+ }
274
+ else {
275
+ folder = null;
276
+ }
277
+ }
278
+ else {
279
+ path = normalize(path);
280
+ if (isWindows) {
281
+ path = normalizeDriveLetter(path);
282
+ }
283
+ else {
284
+ path = tildify(path, (await this._pathService.userHome()).fsPath);
285
+ }
286
+ }
287
+ }
288
+ }
289
+ let leaf = this;
290
+ path.split(/[\/\\]/).forEach((segment, i) => {
291
+ if (i === 0 && folder) {
292
+ const f = folder;
293
+ leaf = leaf.createIfNeeded(folder.name, parent => ( new RootFolderTreeItem(parent, f)));
294
+ }
295
+ else if (i === 0 && url) {
296
+ leaf = leaf.createIfNeeded(url, parent => ( new BaseTreeItem(parent, url)));
297
+ }
298
+ else {
299
+ leaf = leaf.createIfNeeded(segment, parent => ( new BaseTreeItem(parent, segment)));
300
+ }
301
+ });
302
+ leaf.setSource(this._session, source);
303
+ if (source.raw.path) {
304
+ this._map.set(source.raw.path, leaf);
305
+ }
306
+ }
307
+ removePath(source) {
308
+ if (source.raw.path) {
309
+ const leaf = this._map.get(source.raw.path);
310
+ if (leaf) {
311
+ leaf.removeFromParent();
312
+ return true;
313
+ }
314
+ }
315
+ return false;
316
+ }
317
+ }
318
+ function asTreeElement(item, viewState) {
319
+ const children = item.getChildren();
320
+ const collapsed = viewState ? !( viewState.expanded.has(item.getId())) : !(item instanceof SessionTreeItem);
321
+ return {
322
+ element: item,
323
+ collapsed,
324
+ collapsible: item.hasChildren(),
325
+ children: ( children.map(i => asTreeElement(i, viewState)))
326
+ };
327
+ }
328
+ let LoadedScriptsView = class LoadedScriptsView extends ViewPane {
329
+ constructor(options, contextMenuService, keybindingService, instantiationService, viewDescriptorService, configurationService, editorService, contextKeyService, contextService, debugService, labelService, pathService, openerService, themeService, telemetryService) {
330
+ super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
331
+ this.editorService = editorService;
332
+ this.contextService = contextService;
333
+ this.debugService = debugService;
334
+ this.labelService = labelService;
335
+ this.pathService = pathService;
336
+ this.treeNeedsRefreshOnVisible = false;
337
+ this.loadedScriptsItemType = CONTEXT_LOADED_SCRIPTS_ITEM_TYPE.bindTo(contextKeyService);
338
+ }
339
+ renderBody(container) {
340
+ super.renderBody(container);
341
+ this.element.classList.add('debug-pane');
342
+ container.classList.add('debug-loaded-scripts');
343
+ container.classList.add('show-file-icons');
344
+ this.treeContainer = renderViewTree(container);
345
+ this.filter = ( new LoadedScriptsFilter());
346
+ const root = ( new RootTreeItem(this.pathService, this.contextService, this.labelService));
347
+ this.treeLabels = this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility });
348
+ this._register(this.treeLabels);
349
+ this.tree = this.instantiationService.createInstance(WorkbenchCompressibleObjectTree, 'LoadedScriptsView', this.treeContainer, ( new LoadedScriptsDelegate()), [( new LoadedScriptsRenderer(this.treeLabels))], {
350
+ compressionEnabled: NEW_STYLE_COMPRESS,
351
+ collapseByDefault: true,
352
+ hideTwistiesOfChildlessElements: true,
353
+ identityProvider: {
354
+ getId: (element) => element.getId()
355
+ },
356
+ keyboardNavigationLabelProvider: {
357
+ getKeyboardNavigationLabel: (element) => {
358
+ return element.getLabel();
359
+ },
360
+ getCompressedNodeKeyboardNavigationLabel: (elements) => {
361
+ return ( elements.map(e => e.getLabel())).join('/');
362
+ }
363
+ },
364
+ filter: this.filter,
365
+ accessibilityProvider: ( new LoadedSciptsAccessibilityProvider()),
366
+ overrideStyles: {
367
+ listBackground: this.getBackgroundColor()
368
+ }
369
+ });
370
+ const updateView = (viewState) => this.tree.setChildren(null, asTreeElement(root, viewState).children);
371
+ updateView();
372
+ this.changeScheduler = ( new RunOnceScheduler(() => {
373
+ this.treeNeedsRefreshOnVisible = false;
374
+ if (this.tree) {
375
+ updateView();
376
+ }
377
+ }, 300));
378
+ this._register(this.changeScheduler);
379
+ this._register(this.tree.onDidOpen(e => {
380
+ if (e.element instanceof BaseTreeItem) {
381
+ const source = e.element.getSource();
382
+ if (source && source.available) {
383
+ const nullRange = { startLineNumber: 0, startColumn: 0, endLineNumber: 0, endColumn: 0 };
384
+ source.openInEditor(this.editorService, nullRange, e.editorOptions.preserveFocus, e.sideBySide, e.editorOptions.pinned);
385
+ }
386
+ }
387
+ }));
388
+ this._register(this.tree.onDidChangeFocus(() => {
389
+ const focus = this.tree.getFocus();
390
+ if (focus instanceof SessionTreeItem) {
391
+ this.loadedScriptsItemType.set('session');
392
+ }
393
+ else {
394
+ this.loadedScriptsItemType.reset();
395
+ }
396
+ }));
397
+ const scheduleRefreshOnVisible = () => {
398
+ if (this.isBodyVisible()) {
399
+ this.changeScheduler.schedule();
400
+ }
401
+ else {
402
+ this.treeNeedsRefreshOnVisible = true;
403
+ }
404
+ };
405
+ const addSourcePathsToSession = async (session) => {
406
+ if (session.capabilities.supportsLoadedSourcesRequest) {
407
+ const sessionNode = root.add(session);
408
+ const paths = await session.getLoadedSources();
409
+ for (const path of paths) {
410
+ await sessionNode.addPath(path);
411
+ }
412
+ scheduleRefreshOnVisible();
413
+ }
414
+ };
415
+ const registerSessionListeners = (session) => {
416
+ this._register(session.onDidChangeName(async () => {
417
+ const sessionRoot = root.find(session);
418
+ if (sessionRoot) {
419
+ sessionRoot.updateLabel(session.getLabel());
420
+ scheduleRefreshOnVisible();
421
+ }
422
+ }));
423
+ this._register(session.onDidLoadedSource(async (event) => {
424
+ let sessionRoot;
425
+ switch (event.reason) {
426
+ case 'new':
427
+ case 'changed':
428
+ sessionRoot = root.add(session);
429
+ await sessionRoot.addPath(event.source);
430
+ scheduleRefreshOnVisible();
431
+ if (event.reason === 'changed') {
432
+ DebugContentProvider.refreshDebugContent(event.source.uri);
433
+ }
434
+ break;
435
+ case 'removed':
436
+ sessionRoot = root.find(session);
437
+ if (sessionRoot && sessionRoot.removePath(event.source)) {
438
+ scheduleRefreshOnVisible();
439
+ }
440
+ break;
441
+ default:
442
+ this.filter.setFilter(event.source.name);
443
+ this.tree.refilter();
444
+ break;
445
+ }
446
+ }));
447
+ };
448
+ this._register(this.debugService.onDidNewSession(registerSessionListeners));
449
+ this.debugService.getModel().getSessions().forEach(registerSessionListeners);
450
+ this._register(this.debugService.onDidEndSession(session => {
451
+ root.remove(session.getId());
452
+ this.changeScheduler.schedule();
453
+ }));
454
+ this.changeScheduler.schedule(0);
455
+ this._register(this.onDidChangeBodyVisibility(visible => {
456
+ if (visible && this.treeNeedsRefreshOnVisible) {
457
+ this.changeScheduler.schedule();
458
+ }
459
+ }));
460
+ let viewState;
461
+ this._register(this.tree.onDidChangeFindPattern(pattern => {
462
+ if (this.tree.findMode === TreeFindMode.Highlight) {
463
+ return;
464
+ }
465
+ if (!viewState && pattern) {
466
+ const expanded = ( new Set());
467
+ const visit = (node) => {
468
+ if (node.element && !node.collapsed) {
469
+ expanded.add(node.element.getId());
470
+ }
471
+ for (const child of node.children) {
472
+ visit(child);
473
+ }
474
+ };
475
+ visit(this.tree.getNode());
476
+ viewState = { expanded };
477
+ this.tree.expandAll();
478
+ }
479
+ else if (!pattern && viewState) {
480
+ this.tree.setFocus([]);
481
+ updateView(viewState);
482
+ viewState = undefined;
483
+ }
484
+ }));
485
+ this.debugService.getModel().getSessions().forEach(session => addSourcePathsToSession(session));
486
+ }
487
+ layoutBody(height, width) {
488
+ super.layoutBody(height, width);
489
+ this.tree.layout(height, width);
490
+ }
491
+ dispose() {
492
+ dispose(this.tree);
493
+ dispose(this.treeLabels);
494
+ super.dispose();
495
+ }
496
+ };
497
+ LoadedScriptsView = ( __decorate([
498
+ ( __param(1, IContextMenuService)),
499
+ ( __param(2, IKeybindingService)),
500
+ ( __param(3, IInstantiationService)),
501
+ ( __param(4, IViewDescriptorService)),
502
+ ( __param(5, IConfigurationService)),
503
+ ( __param(6, IEditorService)),
504
+ ( __param(7, IContextKeyService)),
505
+ ( __param(8, IWorkspaceContextService)),
506
+ ( __param(9, IDebugService)),
507
+ ( __param(10, ILabelService)),
508
+ ( __param(11, IPathService)),
509
+ ( __param(12, IOpenerService)),
510
+ ( __param(13, IThemeService)),
511
+ ( __param(14, ITelemetryService))
512
+ ], LoadedScriptsView));
513
+ class LoadedScriptsDelegate {
514
+ getHeight(element) {
515
+ return 22;
516
+ }
517
+ getTemplateId(element) {
518
+ return LoadedScriptsRenderer.ID;
519
+ }
520
+ }
521
+ class LoadedScriptsRenderer {
522
+ static { this.ID = 'lsrenderer'; }
523
+ constructor(labels) {
524
+ this.labels = labels;
525
+ }
526
+ get templateId() {
527
+ return LoadedScriptsRenderer.ID;
528
+ }
529
+ renderTemplate(container) {
530
+ const label = this.labels.create(container, { supportHighlights: true });
531
+ return { label };
532
+ }
533
+ renderElement(node, index, data) {
534
+ const element = node.element;
535
+ const label = element.getLabel();
536
+ this.render(element, label, data, node.filterData);
537
+ }
538
+ renderCompressedElements(node, index, data, height) {
539
+ const element = node.element.elements[node.element.elements.length - 1];
540
+ const labels = ( node.element.elements.map(e => e.getLabel()));
541
+ this.render(element, labels, data, node.filterData);
542
+ }
543
+ render(element, labels, data, filterData) {
544
+ const label = {
545
+ name: labels
546
+ };
547
+ const options = {
548
+ title: element.getHoverLabel()
549
+ };
550
+ if (element instanceof RootFolderTreeItem) {
551
+ options.fileKind = FileKind.ROOT_FOLDER;
552
+ }
553
+ else if (element instanceof SessionTreeItem) {
554
+ options.title = ( nls.localize('loadedScriptsSession', "Debug Session"));
555
+ options.hideIcon = true;
556
+ }
557
+ else if (element instanceof BaseTreeItem) {
558
+ const src = element.getSource();
559
+ if (src && src.uri) {
560
+ label.resource = src.uri;
561
+ options.fileKind = FileKind.FILE;
562
+ }
563
+ else {
564
+ options.fileKind = FileKind.FOLDER;
565
+ }
566
+ }
567
+ options.matches = createMatches(filterData);
568
+ data.label.setResource(label, options);
569
+ }
570
+ disposeTemplate(templateData) {
571
+ templateData.label.dispose();
572
+ }
573
+ }
574
+ class LoadedSciptsAccessibilityProvider {
575
+ getWidgetAriaLabel() {
576
+ return ( nls.localize(
577
+ { comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' },
578
+ "Debug Loaded Scripts"
579
+ ));
580
+ }
581
+ getAriaLabel(element) {
582
+ if (element instanceof RootFolderTreeItem) {
583
+ return ( nls.localize(
584
+ 'loadedScriptsRootFolderAriaLabel',
585
+ "Workspace folder {0}, loaded script, debug",
586
+ element.getLabel()
587
+ ));
588
+ }
589
+ if (element instanceof SessionTreeItem) {
590
+ return ( nls.localize(
591
+ 'loadedScriptsSessionAriaLabel',
592
+ "Session {0}, loaded script, debug",
593
+ element.getLabel()
594
+ ));
595
+ }
596
+ if (element.hasChildren()) {
597
+ return ( nls.localize(
598
+ 'loadedScriptsFolderAriaLabel',
599
+ "Folder {0}, loaded script, debug",
600
+ element.getLabel()
601
+ ));
602
+ }
603
+ else {
604
+ return ( nls.localize(
605
+ 'loadedScriptsSourceAriaLabel',
606
+ "{0}, loaded script, debug",
607
+ element.getLabel()
608
+ ));
609
+ }
610
+ }
611
+ }
612
+ class LoadedScriptsFilter {
613
+ setFilter(filterText) {
614
+ this.filterText = filterText;
615
+ }
616
+ filter(element, parentVisibility) {
617
+ if (!this.filterText) {
618
+ return 1 ;
619
+ }
620
+ if (element.isLeaf()) {
621
+ const name = element.getLabel();
622
+ if (name.indexOf(this.filterText) >= 0) {
623
+ return 1 ;
624
+ }
625
+ return 0 ;
626
+ }
627
+ return 2 ;
628
+ }
629
+ }
630
+
631
+ export { LoadedScriptsView };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".monaco-editor .zone-widget .zone-widget-container.breakpoint-widget{border-color:#007acc;display:flex}.monaco-editor .zone-widget .zone-widget-container.breakpoint-widget .breakpoint-select-container{display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding:0 10px}.monaco-editor .zone-widget .zone-widget-container.breakpoint-widget .breakpoint-select-container .monaco-select-box{min-height:18px;min-width:100px;padding:2px 20px 2px 8px}.monaco-editor .zone-widget .zone-widget-container.breakpoint-widget .breakpoint-select-container:after{right:14px}.monaco-editor .zone-widget .zone-widget-container.breakpoint-widget .inputContainer{flex:1}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".monaco-editor .view-overlays .debug-top-stack-frame-line{background-color:var(--vscode-editor-stackFrameHighlightBackground)}.monaco-editor .view-overlays .debug-focused-stack-frame-line{background-color:var(--vscode-editor-focusedStackFrameHighlightBackground)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".codicon-debug-hint{cursor:pointer}.codicon-debug-hint:not([class*=codicon-debug-breakpoint]):not([class*=codicon-debug-stackframe]){opacity:.4!important}.inline-breakpoint-widget.codicon{align-items:center;display:flex!important}.inline-breakpoint-widget.codicon-debug-breakpoint-disabled{opacity:.7}.monaco-editor .inline-breakpoint-widget.line-start{left:-8px!important}.monaco-editor .debug-breakpoint-placeholder{display:inline-flex;margin-top:-1px;vertical-align:middle;width:.9em}.codicon-debug-breakpoint.codicon-debug-stackframe-focused:after,.codicon-debug-breakpoint.codicon-debug-stackframe:after{content:\"\\eb8a\";position:absolute}.monaco-editor .debug-top-stack-frame-column{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;display:inline-flex;font:normal normal normal 16px/1 codicon;margin-left:0;margin-right:4px;margin-top:-1px;text-rendering:auto;vertical-align:middle;width:.9em}.monaco-editor .debug-top-stack-frame-column.start-of-line{margin-top:0;position:absolute;top:50%;transform:translate(-17px,-50%)}.monaco-editor .inline-breakpoint-widget{cursor:pointer}.monaco-workbench .debug-view-content .monaco-list-row .monaco-tl-contents{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .monaco-list-row .expression{display:flex}.monaco-workbench .debug-hover-widget .monaco-list-row .expression,.monaco-workbench .debug-pane .monaco-list-row .expression{font-family:var(--monaco-monospace-font);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.monaco-workbench.mac .debug-hover-widget .monaco-list-row .expression,.monaco-workbench.mac .debug-pane .monaco-list-row .expression{font-size:11px}.monaco-workbench .monaco-list-row .expression .value{margin-left:6px}.monaco-workbench .monaco-list-row .expression .lazy-button{align-self:center;border-radius:5px;display:none;margin-left:3px}.monaco-workbench .monaco-list-row .expression.lazy .lazy-button{display:inline}.monaco-workbench .monaco-list-row .expression .value a.link:hover{text-decoration:underline}.monaco-workbench .monaco-list-row .expression .value a.link.pointer{cursor:pointer}.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .name,.monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .value{color:inherit}.monaco-workbench .monaco-list-row .expression .name.internal,.monaco-workbench .monaco-list-row .expression .name.virtual{opacity:.5}.monaco-workbench .monaco-list-row .expression .unavailable{font-style:italic}.monaco-workbench .debug-inline-value{background-color:var(--vscode-editor-inlineValuesBackground);color:var(--vscode-editor-inlineValuesForeground)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".monaco-editor .debug-hover-widget{animation-duration:.15s;animation-name:fadeIn;position:absolute;user-select:text;-webkit-user-select:text;white-space:pre;word-break:break-all;z-index:50}.monaco-editor .debug-hover-widget .complex-value{max-width:550px}.monaco-editor .debug-hover-widget .complex-value .tip,.monaco-editor .debug-hover-widget .complex-value .title{font-size:11px;height:18px;line-height:18px;overflow:hidden;padding-left:15px;padding-right:2px;text-overflow:ellipsis;white-space:pre;word-break:normal}.monaco-editor .debug-hover-widget .complex-value .title{border-bottom:1px solid hsla(0,0%,50%,.35)}.monaco-editor .debug-hover-widget .complex-value .tip{border-top:1px solid hsla(0,0%,50%,.35);opacity:.5}.monaco-editor .debug-hover-widget .debug-hover-tree{cursor:pointer;line-height:18px}.monaco-editor .debug-hover-widget .debug-hover-tree .monaco-list-row .monaco-tl-contents{user-select:text;-webkit-user-select:text;white-space:pre}.monaco-editor .debug-hover-widget .debug-hover-tree .monaco-list-rows .monaco-list-row:hover:not(.highlighted):not(.selected):not(.focused){background-color:inherit}.monaco-editor .debug-hover-widget pre{margin-bottom:0;margin-top:0}.monaco-editor .debugHoverHighlight{background-color:rgba(173,214,255,.15)}.monaco-editor .debug-hover-widget>.monaco-scrollable-element>.value{color:hsla(0,0%,42%,.8);font-family:var(--monaco-monospace-font);max-height:500px;overflow:auto;padding:4px 5px;white-space:pre-wrap}.monaco-editor.hc-theme .debugHoverHighlight,.monaco-editor.vs-dark .debugHoverHighlight{background-color:rgba(38,79,120,.25)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".monaco-workbench .debug-toolbar{border-radius:4px;display:flex;height:32px;padding-left:7px;position:absolute;z-index:39}.monaco-workbench .debug-toolbar .monaco-action-bar .action-item{margin-right:4px}.monaco-workbench .debug-toolbar .monaco-action-bar .action-item.select-container{margin-right:7px}.monaco-workbench .debug-toolbar .monaco-action-bar .action-item.select-container .monaco-select-box,.monaco-workbench .start-debug-action-item .select-container .monaco-select-box{padding:0 22px 0 6px}.monaco-workbench .debug-toolbar .drag-area{align-items:center;cursor:grab;display:flex;justify-content:center;opacity:.5;width:16px}.monaco-workbench .debug-toolbar .drag-area.dragged{cursor:grabbing}.monaco-workbench .debug-toolbar .monaco-action-bar .action-item .action-label{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:16px;display:flex;justify-content:center;margin-right:0}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };