@codingame/monaco-vscode-debug-service-override 25.1.2 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +41 -29
  3. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +379 -255
  4. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +606 -325
  5. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +132 -91
  6. package/vscode/src/vs/workbench/contrib/debug/browser/debugChatIntegration.js +105 -103
  7. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +258 -147
  8. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +14 -10
  9. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +163 -121
  10. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +92 -41
  11. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +13 -12
  12. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +68 -39
  13. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +290 -214
  14. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +409 -260
  15. package/vscode/src/vs/workbench/contrib/debug/browser/debugSettingMigration.js +14 -12
  16. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +19 -21
  17. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +126 -100
  18. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +8 -9
  19. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +160 -89
  20. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +87 -71
  21. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +270 -181
  22. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +79 -48
  23. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +149 -113
  24. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css +24 -3
  25. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +201 -189
  26. package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibilityHelp.js +28 -35
  27. package/vscode/src/vs/workbench/contrib/debug/browser/replAccessibleView.js +10 -12
  28. package/vscode/src/vs/workbench/contrib/debug/browser/runAndDebugAccessibilityHelp.js +66 -86
  29. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +24 -31
  30. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +177 -138
  31. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +55 -33
  32. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +2 -4
  33. package/vscode/src/vs/workbench/contrib/debug/common/debugAccessibilityAnnouncer.js +8 -12
  34. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +23 -19
  35. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +9 -15
  36. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +156 -133
  37. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +81 -52
  38. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +3 -5
  39. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +22 -14
  40. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +46 -30
  41. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +74 -52
  42. package/vscode/src/vs/workbench/contrib/debug/common/replAccessibilityAnnouncer.js +11 -10
  43. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +7 -7
@@ -69,20 +69,20 @@ function getStackFrameContext(element) {
69
69
  ...getThreadContext(element.thread),
70
70
  frameId: element.getId(),
71
71
  frameName: element.name,
72
- frameLocation: { range: element.range, source: element.source.raw }
72
+ frameLocation: {
73
+ range: element.range,
74
+ source: element.source.raw
75
+ }
73
76
  };
74
77
  }
75
78
  function getContext(element) {
76
79
  if (element instanceof StackFrame) {
77
80
  return getStackFrameContext(element);
78
- }
79
- else if (element instanceof Thread) {
81
+ } else if (element instanceof Thread) {
80
82
  return getThreadContext(element);
81
- }
82
- else if (isDebugSession(element)) {
83
+ } else if (isDebugSession(element)) {
83
84
  return getSessionContext(element);
84
- }
85
- else {
85
+ } else {
86
86
  return undefined;
87
87
  }
88
88
  }
@@ -99,7 +99,7 @@ function getContextForContributedActions(element) {
99
99
  if (isDebugSession(element)) {
100
100
  return element.getId();
101
101
  }
102
- return '';
102
+ return "";
103
103
  }
104
104
  function getSpecificSourceName(stackFrame) {
105
105
  let callStack = stackFrame.thread.getStaleCallStack();
@@ -114,8 +114,11 @@ function getSpecificSourceName(stackFrame) {
114
114
  if (suffixLength === 0) {
115
115
  return stackFrame.source.name;
116
116
  }
117
- const from = Math.max(0, stackFrame.source.uri.path.lastIndexOf(posix.sep, stackFrame.source.uri.path.length - suffixLength - 1));
118
- return (from > 0 ? '...' : '') + stackFrame.source.uri.path.substring(from);
117
+ const from = Math.max(
118
+ 0,
119
+ stackFrame.source.uri.path.lastIndexOf(posix.sep, stackFrame.source.uri.path.length - suffixLength - 1)
120
+ );
121
+ return (from > 0 ? "..." : "") + stackFrame.source.uri.path.substring(from);
119
122
  }
120
123
  async function expandTo(session, tree) {
121
124
  if (session.parentSession) {
@@ -124,8 +127,32 @@ async function expandTo(session, tree) {
124
127
  await tree.expand(session);
125
128
  }
126
129
  let CallStackView = class CallStackView extends ViewPane {
127
- constructor(options, contextMenuService, debugService, keybindingService, instantiationService, viewDescriptorService, configurationService, contextKeyService, openerService, themeService, hoverService, menuService) {
128
- super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, hoverService);
130
+ constructor(
131
+ options,
132
+ contextMenuService,
133
+ debugService,
134
+ keybindingService,
135
+ instantiationService,
136
+ viewDescriptorService,
137
+ configurationService,
138
+ contextKeyService,
139
+ openerService,
140
+ themeService,
141
+ hoverService,
142
+ menuService
143
+ ) {
144
+ super(
145
+ options,
146
+ keybindingService,
147
+ contextMenuService,
148
+ configurationService,
149
+ contextKeyService,
150
+ viewDescriptorService,
151
+ instantiationService,
152
+ openerService,
153
+ themeService,
154
+ hoverService
155
+ );
129
156
  this.options = options;
130
157
  this.debugService = debugService;
131
158
  this.menuService = menuService;
@@ -141,19 +168,17 @@ let CallStackView = class CallStackView extends ViewPane {
141
168
  }
142
169
  const thread = sessions.length === 1 && sessions[0].getAllThreads().length === 1 ? sessions[0].getAllThreads()[0] : undefined;
143
170
  const stoppedDetails = sessions.length === 1 ? sessions[0].getStoppedDetails() : undefined;
144
- if (stoppedDetails && (thread || typeof stoppedDetails.threadId !== 'number')) {
171
+ if (stoppedDetails && (thread || typeof stoppedDetails.threadId !== "number")) {
145
172
  this.stateMessageLabel.textContent = stoppedDescription(stoppedDetails);
146
173
  this.stateMessageLabelHover.update(stoppedText(stoppedDetails));
147
- this.stateMessageLabel.classList.toggle('exception', stoppedDetails.reason === 'exception');
174
+ this.stateMessageLabel.classList.toggle("exception", stoppedDetails.reason === "exception");
148
175
  this.stateMessage.hidden = false;
149
- }
150
- else if (sessions.length === 1 && sessions[0].state === State.Running) {
151
- this.stateMessageLabel.textContent = ( localize(6569, "Running"));
176
+ } else if (sessions.length === 1 && sessions[0].state === State.Running) {
177
+ this.stateMessageLabel.textContent = ( localize(6879, "Running"));
152
178
  this.stateMessageLabelHover.update(sessions[0].getLabel());
153
- this.stateMessageLabel.classList.remove('exception');
179
+ this.stateMessageLabel.classList.remove("exception");
154
180
  this.stateMessage.hidden = false;
155
- }
156
- else {
181
+ } else {
157
182
  this.stateMessage.hidden = true;
158
183
  }
159
184
  this.updateActions();
@@ -170,9 +195,7 @@ let CallStackView = class CallStackView extends ViewPane {
170
195
  await expandTo(session, this.tree);
171
196
  this.autoExpandedSessions.add(session);
172
197
  }
173
- }
174
- catch (e) {
175
- }
198
+ } catch (e) {}
176
199
  if (this.selectionNeedsUpdate) {
177
200
  this.selectionNeedsUpdate = false;
178
201
  await this.updateTreeSelection();
@@ -181,79 +204,94 @@ let CallStackView = class CallStackView extends ViewPane {
181
204
  }
182
205
  renderHeaderTitle(container) {
183
206
  super.renderHeaderTitle(container, this.options.title);
184
- this.stateMessage = append(container, $('span.call-stack-state-message'));
207
+ this.stateMessage = append(container, $("span.call-stack-state-message"));
185
208
  this.stateMessage.hidden = true;
186
- this.stateMessageLabel = append(this.stateMessage, $('span.label'));
187
- this.stateMessageLabelHover = this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), this.stateMessage, ''));
209
+ this.stateMessageLabel = append(this.stateMessage, $("span.label"));
210
+ this.stateMessageLabelHover = this._register(
211
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), this.stateMessage, "")
212
+ );
188
213
  }
189
214
  renderBody(container) {
190
215
  super.renderBody(container);
191
- this.element.classList.add('debug-pane');
192
- container.classList.add('debug-call-stack');
216
+ this.element.classList.add("debug-pane");
217
+ container.classList.add("debug-call-stack");
193
218
  const treeContainer = renderViewTree(container);
194
219
  this.dataSource = ( new CallStackDataSource(this.debugService));
195
- this.tree = this.instantiationService.createInstance((WorkbenchCompressibleAsyncDataTree), 'CallStackView', treeContainer, ( new CallStackDelegate()), ( new CallStackCompressionDelegate(this.debugService)), [
196
- this.instantiationService.createInstance(SessionsRenderer),
197
- this.instantiationService.createInstance(ThreadsRenderer),
198
- this.instantiationService.createInstance(StackFramesRenderer),
199
- this.instantiationService.createInstance(ErrorsRenderer),
200
- ( new LoadMoreRenderer()),
201
- ( new ShowMoreRenderer())
202
- ], this.dataSource, {
203
- accessibilityProvider: ( new CallStackAccessibilityProvider()),
204
- compressionEnabled: true,
205
- autoExpandSingleChildren: true,
206
- identityProvider: {
207
- getId: (element) => {
208
- if (typeof element === 'string') {
209
- return element;
210
- }
211
- if (element instanceof Array) {
212
- return `showMore ${element[0].getId()}`;
213
- }
214
- return element.getId();
215
- }
216
- },
217
- keyboardNavigationLabelProvider: {
218
- getKeyboardNavigationLabel: (e) => {
219
- if (isDebugSession(e)) {
220
- return e.getLabel();
221
- }
222
- if (e instanceof Thread) {
223
- return `${e.name} ${e.stateLabel}`;
224
- }
225
- if (e instanceof StackFrame || typeof e === 'string') {
226
- return e;
227
- }
228
- if (e instanceof ThreadAndSessionIds) {
229
- return LoadMoreRenderer.LABEL;
220
+ this.tree = this.instantiationService.createInstance(
221
+ WorkbenchCompressibleAsyncDataTree,
222
+ "CallStackView",
223
+ treeContainer,
224
+ ( new CallStackDelegate()),
225
+ ( new CallStackCompressionDelegate(this.debugService)),
226
+ [
227
+ this.instantiationService.createInstance(SessionsRenderer),
228
+ this.instantiationService.createInstance(ThreadsRenderer),
229
+ this.instantiationService.createInstance(StackFramesRenderer),
230
+ this.instantiationService.createInstance(ErrorsRenderer),
231
+ ( new LoadMoreRenderer()),
232
+ ( new ShowMoreRenderer())
233
+ ],
234
+ this.dataSource,
235
+ {
236
+ accessibilityProvider: ( new CallStackAccessibilityProvider()),
237
+ compressionEnabled: true,
238
+ autoExpandSingleChildren: true,
239
+ identityProvider: {
240
+ getId: element => {
241
+ if (typeof element === "string") {
242
+ return element;
243
+ }
244
+ if (element instanceof Array) {
245
+ return `showMore ${element[0].getId()}`;
246
+ }
247
+ return element.getId();
230
248
  }
231
- return localize(6570, "Show More Stack Frames");
232
249
  },
233
- getCompressedNodeKeyboardNavigationLabel: (e) => {
234
- const firstItem = e[0];
235
- if (isDebugSession(firstItem)) {
236
- return firstItem.getLabel();
250
+ keyboardNavigationLabelProvider: {
251
+ getKeyboardNavigationLabel: e => {
252
+ if (isDebugSession(e)) {
253
+ return e.getLabel();
254
+ }
255
+ if (e instanceof Thread) {
256
+ return `${e.name} ${e.stateLabel}`;
257
+ }
258
+ if (e instanceof StackFrame || typeof e === "string") {
259
+ return e;
260
+ }
261
+ if (e instanceof ThreadAndSessionIds) {
262
+ return LoadMoreRenderer.LABEL;
263
+ }
264
+ return localize(6880, "Show More Stack Frames");
265
+ },
266
+ getCompressedNodeKeyboardNavigationLabel: e => {
267
+ const firstItem = e[0];
268
+ if (isDebugSession(firstItem)) {
269
+ return firstItem.getLabel();
270
+ }
271
+ return "";
237
272
  }
238
- return '';
239
- }
240
- },
241
- expandOnlyOnTwistieClick: true,
242
- overrideStyles: this.getLocationBasedColors().listOverrideStyles
243
- });
273
+ },
274
+ expandOnlyOnTwistieClick: true,
275
+ overrideStyles: this.getLocationBasedColors().listOverrideStyles
276
+ }
277
+ );
244
278
  CONTEXT_CALLSTACK_FOCUSED.bindTo(this.tree.contextKeyService);
245
279
  this.tree.setInput(this.debugService.getModel());
246
280
  this._register(this.tree);
247
- this._register(this.tree.onDidOpen(async (e) => {
281
+ this._register(this.tree.onDidOpen(async e => {
248
282
  if (this.ignoreSelectionChangedEvent) {
249
283
  return;
250
284
  }
251
285
  const focusStackFrame = (stackFrame, thread, session, options = {}) => {
252
286
  this.ignoreFocusStackFrameEvent = true;
253
287
  try {
254
- this.debugService.focusStackFrame(stackFrame, thread, session, { ...options, ...{ explicit: true } });
255
- }
256
- finally {
288
+ this.debugService.focusStackFrame(stackFrame, thread, session, {
289
+ ...options,
290
+ ...{
291
+ explicit: true
292
+ }
293
+ });
294
+ } finally {
257
295
  this.ignoreFocusStackFrameEvent = false;
258
296
  }
259
297
  };
@@ -277,7 +315,7 @@ let CallStackView = class CallStackView extends ViewPane {
277
315
  const thread = session && session.getThread(element.threadId);
278
316
  if (thread) {
279
317
  const totalFrames = thread.stoppedDetails?.totalFrames;
280
- const remainingFramesCount = typeof totalFrames === 'number' ? (totalFrames - thread.getCallStack().length) : undefined;
318
+ const remainingFramesCount = typeof totalFrames === "number" ? (totalFrames - thread.getCallStack().length) : undefined;
281
319
  await thread.fetchCallStack(remainingFramesCount);
282
320
  await this.tree.updateChildren();
283
321
  }
@@ -296,7 +334,10 @@ let CallStackView = class CallStackView extends ViewPane {
296
334
  this.onCallStackChangeScheduler.schedule();
297
335
  }
298
336
  }));
299
- const onFocusChange = Event.any(this.debugService.getViewModel().onDidFocusStackFrame, this.debugService.getViewModel().onDidFocusSession);
337
+ const onFocusChange = Event.any(
338
+ this.debugService.getViewModel().onDidFocusStackFrame,
339
+ this.debugService.getViewModel().onDidFocusSession
340
+ );
300
341
  this._register(onFocusChange(async () => {
301
342
  if (this.ignoreFocusStackFrameEvent) {
302
343
  return;
@@ -349,19 +390,16 @@ let CallStackView = class CallStackView extends ViewPane {
349
390
  if (!this.tree || !this.tree.getInput()) {
350
391
  return;
351
392
  }
352
- const updateSelectionAndReveal = (element) => {
393
+ const updateSelectionAndReveal = element => {
353
394
  this.ignoreSelectionChangedEvent = true;
354
395
  try {
355
396
  this.tree.setSelection([element]);
356
397
  if (this.tree.getRelativeTop(element) === null) {
357
398
  this.tree.reveal(element, 0.5);
358
- }
359
- else {
399
+ } else {
360
400
  this.tree.reveal(element);
361
401
  }
362
- }
363
- catch (e) { }
364
- finally {
402
+ } catch (e) {} finally {
365
403
  this.ignoreSelectionChangedEvent = false;
366
404
  }
367
405
  };
@@ -371,20 +409,16 @@ let CallStackView = class CallStackView extends ViewPane {
371
409
  if (!thread) {
372
410
  if (!session) {
373
411
  this.tree.setSelection([]);
374
- }
375
- else {
412
+ } else {
376
413
  updateSelectionAndReveal(session);
377
414
  }
378
- }
379
- else {
415
+ } else {
380
416
  try {
381
417
  await expandTo(thread.session, this.tree);
382
- }
383
- catch (e) { }
418
+ } catch (e) {}
384
419
  try {
385
420
  await this.tree.expand(thread);
386
- }
387
- catch (e) { }
421
+ } catch (e) {}
388
422
  const toReveal = stackFrame || session;
389
423
  if (toReveal) {
390
424
  updateSelectionAndReveal(toReveal);
@@ -396,16 +430,17 @@ let CallStackView = class CallStackView extends ViewPane {
396
430
  let overlay = [];
397
431
  if (isDebugSession(element)) {
398
432
  overlay = getSessionContextOverlay(element);
399
- }
400
- else if (element instanceof Thread) {
433
+ } else if (element instanceof Thread) {
401
434
  overlay = getThreadContextOverlay(element);
402
- }
403
- else if (element instanceof StackFrame) {
435
+ } else if (element instanceof StackFrame) {
404
436
  overlay = getStackFrameContextOverlay(element);
405
437
  }
406
438
  const contextKeyService = this.contextKeyService.createOverlay(overlay);
407
- const menu = this.menuService.getMenuActions(MenuId.DebugCallStackContext, contextKeyService, { arg: getContextForContributedActions(element), shouldForwardArgs: true });
408
- const result = getContextMenuActions(menu, 'inline');
439
+ const menu = this.menuService.getMenuActions(MenuId.DebugCallStackContext, contextKeyService, {
440
+ arg: getContextForContributedActions(element),
441
+ shouldForwardArgs: true
442
+ });
443
+ const result = getContextMenuActions(menu, "inline");
409
444
  this.contextMenuService.showContextMenu({
410
445
  getAnchor: () => e.anchor,
411
446
  getActions: () => result.secondary,
@@ -413,30 +448,25 @@ let CallStackView = class CallStackView extends ViewPane {
413
448
  });
414
449
  }
415
450
  };
416
- CallStackView = ( __decorate([
417
- ( __param(1, IContextMenuService)),
418
- ( __param(2, IDebugService)),
419
- ( __param(3, IKeybindingService)),
420
- ( __param(4, IInstantiationService)),
421
- ( __param(5, IViewDescriptorService)),
422
- ( __param(6, IConfigurationService)),
423
- ( __param(7, IContextKeyService)),
424
- ( __param(8, IOpenerService)),
425
- ( __param(9, IThemeService)),
426
- ( __param(10, IHoverService)),
427
- ( __param(11, IMenuService))
428
- ], CallStackView));
451
+ CallStackView = ( __decorate([( __param(1, IContextMenuService)), ( __param(2, IDebugService)), ( __param(3, IKeybindingService)), ( __param(4, IInstantiationService)), ( __param(5, IViewDescriptorService)), ( __param(6, IConfigurationService)), ( __param(7, IContextKeyService)), ( __param(8, IOpenerService)), ( __param(9, IThemeService)), ( __param(10, IHoverService)), ( __param(11, IMenuService))], CallStackView));
429
452
  function getSessionContextOverlay(session) {
430
453
  return [
431
- [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'session'],
454
+ [CONTEXT_CALLSTACK_ITEM_TYPE.key, "session"],
432
455
  [CONTEXT_CALLSTACK_SESSION_IS_ATTACH.key, isSessionAttach(session)],
433
456
  [CONTEXT_CALLSTACK_ITEM_STOPPED.key, session.state === State.Stopped],
434
- [CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD.key, session.getAllThreads().length === 1],
457
+ [
458
+ CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD.key,
459
+ session.getAllThreads().length === 1
460
+ ]
435
461
  ];
436
462
  }
437
463
  let SessionsRenderer = class SessionsRenderer {
438
- static { SessionsRenderer_1 = this; }
439
- static { this.ID = 'session'; }
464
+ static {
465
+ SessionsRenderer_1 = this;
466
+ }
467
+ static {
468
+ this.ID = "session";
469
+ }
440
470
  constructor(instantiationService, contextKeyService, hoverService, menuService) {
441
471
  this.instantiationService = instantiationService;
442
472
  this.contextKeyService = contextKeyService;
@@ -447,10 +477,10 @@ let SessionsRenderer = class SessionsRenderer {
447
477
  return SessionsRenderer_1.ID;
448
478
  }
449
479
  renderTemplate(container) {
450
- const session = append(container, $('.session'));
480
+ const session = append(container, $(".session"));
451
481
  append(session, $(ThemeIcon.asCSSSelector(callstackViewSession)));
452
- const name = append(session, $('.name'));
453
- const stateLabel = append(session, $('span.state.label.monaco-count-badge.long'));
482
+ const name = append(session, $(".name"));
483
+ const stateLabel = append(session, $("span.state.label.monaco-count-badge.long"));
454
484
  const templateDisposable = ( new DisposableStore());
455
485
  const label = templateDisposable.add(( new HighlightedLabel(name)));
456
486
  const stopActionViewItemDisposables = templateDisposable.add(( new DisposableStore()));
@@ -458,22 +488,38 @@ let SessionsRenderer = class SessionsRenderer {
458
488
  actionViewItemProvider: (action, options) => {
459
489
  if ((action.id === STOP_ID || action.id === DISCONNECT_ID) && action instanceof MenuItemAction) {
460
490
  stopActionViewItemDisposables.clear();
461
- const item = this.instantiationService.invokeFunction(accessor => createDisconnectMenuItemAction(action, stopActionViewItemDisposables, accessor, { ...options, menuAsChild: false }));
491
+ const item = this.instantiationService.invokeFunction(
492
+ accessor => createDisconnectMenuItemAction(action, stopActionViewItemDisposables, accessor, {
493
+ ...options,
494
+ menuAsChild: false
495
+ })
496
+ );
462
497
  if (item) {
463
498
  return item;
464
499
  }
465
500
  }
466
501
  if (action instanceof MenuItemAction) {
467
- return this.instantiationService.createInstance(MenuEntryActionViewItem, action, { hoverDelegate: options.hoverDelegate });
468
- }
469
- else if (action instanceof SubmenuItemAction) {
470
- return this.instantiationService.createInstance(SubmenuEntryActionViewItem, action, { hoverDelegate: options.hoverDelegate });
502
+ return this.instantiationService.createInstance(MenuEntryActionViewItem, action, {
503
+ hoverDelegate: options.hoverDelegate
504
+ });
505
+ } else if (action instanceof SubmenuItemAction) {
506
+ return this.instantiationService.createInstance(SubmenuEntryActionViewItem, action, {
507
+ hoverDelegate: options.hoverDelegate
508
+ });
471
509
  }
472
510
  return undefined;
473
511
  }
474
512
  })));
475
513
  const elementDisposable = templateDisposable.add(( new DisposableStore()));
476
- return { session, name, stateLabel, label, actionBar, elementDisposable, templateDisposable };
514
+ return {
515
+ session,
516
+ name,
517
+ stateLabel,
518
+ label,
519
+ actionBar,
520
+ elementDisposable,
521
+ templateDisposable
522
+ };
477
523
  }
478
524
  renderElement(element, _, data) {
479
525
  this.doRenderElement(element.element, createMatches(element.filterData), data);
@@ -484,34 +530,44 @@ let SessionsRenderer = class SessionsRenderer {
484
530
  this.doRenderElement(lastElement, matches, templateData);
485
531
  }
486
532
  doRenderElement(session, matches, data) {
487
- const sessionHover = data.elementDisposable.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.session, ( localize(6571, "Session"))));
533
+ const sessionHover = data.elementDisposable.add(
534
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.session, ( localize(6881, "Session")))
535
+ );
488
536
  data.label.set(session.getLabel(), matches);
489
537
  const stoppedDetails = session.getStoppedDetails();
490
538
  const thread = session.getAllThreads().find(t => t.stopped);
491
539
  const contextKeyService = this.contextKeyService.createOverlay(getSessionContextOverlay(session));
492
- const menu = data.elementDisposable.add(this.menuService.createMenu(MenuId.DebugCallStackContext, contextKeyService));
540
+ const menu = data.elementDisposable.add(
541
+ this.menuService.createMenu(MenuId.DebugCallStackContext, contextKeyService)
542
+ );
493
543
  const setupActionBar = () => {
494
544
  data.actionBar.clear();
495
- const { primary } = getActionBarActions(menu.getActions({ arg: getContextForContributedActions(session), shouldForwardArgs: true }), 'inline');
496
- data.actionBar.push(primary, { icon: true, label: false });
545
+ const {
546
+ primary
547
+ } = getActionBarActions(menu.getActions({
548
+ arg: getContextForContributedActions(session),
549
+ shouldForwardArgs: true
550
+ }), "inline");
551
+ data.actionBar.push(primary, {
552
+ icon: true,
553
+ label: false
554
+ });
497
555
  data.actionBar.context = getContext(session);
498
556
  };
499
557
  data.elementDisposable.add(menu.onDidChange(() => setupActionBar()));
500
558
  setupActionBar();
501
- data.stateLabel.style.display = '';
559
+ data.stateLabel.style.display = "";
502
560
  if (stoppedDetails) {
503
561
  data.stateLabel.textContent = stoppedDescription(stoppedDetails);
504
562
  sessionHover.update(`${session.getLabel()}: ${stoppedText(stoppedDetails)}`);
505
- data.stateLabel.classList.toggle('exception', stoppedDetails.reason === 'exception');
506
- }
507
- else if (thread && thread.stoppedDetails) {
563
+ data.stateLabel.classList.toggle("exception", stoppedDetails.reason === "exception");
564
+ } else if (thread && thread.stoppedDetails) {
508
565
  data.stateLabel.textContent = stoppedDescription(thread.stoppedDetails);
509
566
  sessionHover.update(`${session.getLabel()}: ${stoppedText(thread.stoppedDetails)}`);
510
- data.stateLabel.classList.toggle('exception', thread.stoppedDetails.reason === 'exception');
511
- }
512
- else {
513
- data.stateLabel.textContent = ( localize(6569, "Running"));
514
- data.stateLabel.classList.remove('exception');
567
+ data.stateLabel.classList.toggle("exception", thread.stoppedDetails.reason === "exception");
568
+ } else {
569
+ data.stateLabel.textContent = ( localize(6879, "Running"));
570
+ data.stateLabel.classList.remove("exception");
515
571
  }
516
572
  }
517
573
  disposeTemplate(templateData) {
@@ -524,21 +580,20 @@ let SessionsRenderer = class SessionsRenderer {
524
580
  templateData.elementDisposable.clear();
525
581
  }
526
582
  };
527
- SessionsRenderer = SessionsRenderer_1 = ( __decorate([
528
- ( __param(0, IInstantiationService)),
529
- ( __param(1, IContextKeyService)),
530
- ( __param(2, IHoverService)),
531
- ( __param(3, IMenuService))
532
- ], SessionsRenderer));
583
+ SessionsRenderer = SessionsRenderer_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IContextKeyService)), ( __param(2, IHoverService)), ( __param(3, IMenuService))], SessionsRenderer));
533
584
  function getThreadContextOverlay(thread) {
534
585
  return [
535
- [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'thread'],
586
+ [CONTEXT_CALLSTACK_ITEM_TYPE.key, "thread"],
536
587
  [CONTEXT_CALLSTACK_ITEM_STOPPED.key, thread.stopped]
537
588
  ];
538
589
  }
539
590
  let ThreadsRenderer = class ThreadsRenderer {
540
- static { ThreadsRenderer_1 = this; }
541
- static { this.ID = 'thread'; }
591
+ static {
592
+ ThreadsRenderer_1 = this;
593
+ }
594
+ static {
595
+ this.ID = "thread";
596
+ }
542
597
  constructor(contextKeyService, hoverService, menuService) {
543
598
  this.contextKeyService = contextKeyService;
544
599
  this.hoverService = hoverService;
@@ -548,34 +603,54 @@ let ThreadsRenderer = class ThreadsRenderer {
548
603
  return ThreadsRenderer_1.ID;
549
604
  }
550
605
  renderTemplate(container) {
551
- const thread = append(container, $('.thread'));
552
- const name = append(thread, $('.name'));
553
- const stateLabel = append(thread, $('span.state.label.monaco-count-badge.long'));
606
+ const thread = append(container, $(".thread"));
607
+ const name = append(thread, $(".name"));
608
+ const stateLabel = append(thread, $("span.state.label.monaco-count-badge.long"));
554
609
  const templateDisposable = ( new DisposableStore());
555
610
  const label = templateDisposable.add(( new HighlightedLabel(name)));
556
611
  const actionBar = templateDisposable.add(( new ActionBar(thread)));
557
612
  const elementDisposable = templateDisposable.add(( new DisposableStore()));
558
- return { thread, name, stateLabel, label, actionBar, elementDisposable, templateDisposable };
613
+ return {
614
+ thread,
615
+ name,
616
+ stateLabel,
617
+ label,
618
+ actionBar,
619
+ elementDisposable,
620
+ templateDisposable
621
+ };
559
622
  }
560
623
  renderElement(element, _index, data) {
561
624
  const thread = element.element;
562
- data.elementDisposable.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.thread, thread.name));
625
+ data.elementDisposable.add(
626
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.thread, thread.name)
627
+ );
563
628
  data.label.set(thread.name, createMatches(element.filterData));
564
629
  data.stateLabel.textContent = thread.stateLabel;
565
- data.stateLabel.classList.toggle('exception', thread.stoppedDetails?.reason === 'exception');
630
+ data.stateLabel.classList.toggle("exception", thread.stoppedDetails?.reason === "exception");
566
631
  const contextKeyService = this.contextKeyService.createOverlay(getThreadContextOverlay(thread));
567
- const menu = data.elementDisposable.add(this.menuService.createMenu(MenuId.DebugCallStackContext, contextKeyService));
632
+ const menu = data.elementDisposable.add(
633
+ this.menuService.createMenu(MenuId.DebugCallStackContext, contextKeyService)
634
+ );
568
635
  const setupActionBar = () => {
569
636
  data.actionBar.clear();
570
- const { primary } = getActionBarActions(menu.getActions({ arg: getContextForContributedActions(thread), shouldForwardArgs: true }), 'inline');
571
- data.actionBar.push(primary, { icon: true, label: false });
637
+ const {
638
+ primary
639
+ } = getActionBarActions(menu.getActions({
640
+ arg: getContextForContributedActions(thread),
641
+ shouldForwardArgs: true
642
+ }), "inline");
643
+ data.actionBar.push(primary, {
644
+ icon: true,
645
+ label: false
646
+ });
572
647
  data.actionBar.context = getContext(thread);
573
648
  };
574
649
  data.elementDisposable.add(menu.onDidChange(() => setupActionBar()));
575
650
  setupActionBar();
576
651
  }
577
652
  renderCompressedElements(_node, _index, _templateData) {
578
- throw ( new Error('Method not implemented.'));
653
+ throw ( new Error("Method not implemented."));
579
654
  }
580
655
  disposeElement(_element, _index, templateData) {
581
656
  templateData.elementDisposable.clear();
@@ -584,20 +659,20 @@ let ThreadsRenderer = class ThreadsRenderer {
584
659
  templateData.templateDisposable.dispose();
585
660
  }
586
661
  };
587
- ThreadsRenderer = ThreadsRenderer_1 = ( __decorate([
588
- ( __param(0, IContextKeyService)),
589
- ( __param(1, IHoverService)),
590
- ( __param(2, IMenuService))
591
- ], ThreadsRenderer));
662
+ ThreadsRenderer = ThreadsRenderer_1 = ( __decorate([( __param(0, IContextKeyService)), ( __param(1, IHoverService)), ( __param(2, IMenuService))], ThreadsRenderer));
592
663
  function getStackFrameContextOverlay(stackFrame) {
593
664
  return [
594
- [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'stackFrame'],
665
+ [CONTEXT_CALLSTACK_ITEM_TYPE.key, "stackFrame"],
595
666
  [CONTEXT_STACK_FRAME_SUPPORTS_RESTART.key, stackFrame.canRestart]
596
667
  ];
597
668
  }
598
669
  let StackFramesRenderer = class StackFramesRenderer {
599
- static { StackFramesRenderer_1 = this; }
600
- static { this.ID = 'stackFrame'; }
670
+ static {
671
+ StackFramesRenderer_1 = this;
672
+ }
673
+ static {
674
+ this.ID = "stackFrame";
675
+ }
601
676
  constructor(hoverService, labelService, notificationService) {
602
677
  this.hoverService = hoverService;
603
678
  this.labelService = labelService;
@@ -607,30 +682,44 @@ let StackFramesRenderer = class StackFramesRenderer {
607
682
  return StackFramesRenderer_1.ID;
608
683
  }
609
684
  renderTemplate(container) {
610
- const stackFrame = append(container, $('.stack-frame'));
611
- const labelDiv = append(stackFrame, $('span.label.expression'));
612
- const file = append(stackFrame, $('.file'));
613
- const fileName = append(file, $('span.file-name'));
614
- const wrapper = append(file, $('span.line-number-wrapper'));
615
- const lineNumber = append(wrapper, $('span.line-number.monaco-count-badge'));
685
+ const stackFrame = append(container, $(".stack-frame"));
686
+ const labelDiv = append(stackFrame, $("span.label.expression"));
687
+ const file = append(stackFrame, $(".file"));
688
+ const fileName = append(file, $("span.file-name"));
689
+ const wrapper = append(file, $("span.line-number-wrapper"));
690
+ const lineNumber = append(wrapper, $("span.line-number.monaco-count-badge"));
616
691
  const templateDisposable = ( new DisposableStore());
617
692
  const elementDisposables = ( new DisposableStore());
618
693
  templateDisposable.add(elementDisposables);
619
694
  const label = templateDisposable.add(( new HighlightedLabel(labelDiv)));
620
695
  const actionBar = templateDisposable.add(( new ActionBar(stackFrame)));
621
- return { file, fileName, label, lineNumber, stackFrame, actionBar, templateDisposable, elementDisposables };
696
+ return {
697
+ file,
698
+ fileName,
699
+ label,
700
+ lineNumber,
701
+ stackFrame,
702
+ actionBar,
703
+ templateDisposable,
704
+ elementDisposables
705
+ };
622
706
  }
623
707
  renderElement(element, index, data) {
624
708
  const stackFrame = element.element;
625
- data.stackFrame.classList.toggle('disabled', !stackFrame.source || !stackFrame.source.available || isFrameDeemphasized(stackFrame));
626
- data.stackFrame.classList.toggle('label', stackFrame.presentationHint === 'label');
627
- const hasActions = !!stackFrame.thread.session.capabilities.supportsRestartFrame && stackFrame.presentationHint !== 'label' && stackFrame.presentationHint !== 'subtle' && stackFrame.canRestart;
628
- data.stackFrame.classList.toggle('has-actions', hasActions);
709
+ data.stackFrame.classList.toggle(
710
+ "disabled",
711
+ !stackFrame.source || !stackFrame.source.available || isFrameDeemphasized(stackFrame)
712
+ );
713
+ data.stackFrame.classList.toggle("label", stackFrame.presentationHint === "label");
714
+ const hasActions = !!stackFrame.thread.session.capabilities.supportsRestartFrame && stackFrame.presentationHint !== "label" && stackFrame.presentationHint !== "subtle" && stackFrame.canRestart;
715
+ data.stackFrame.classList.toggle("has-actions", hasActions);
629
716
  let title = stackFrame.source.inMemory ? stackFrame.source.uri.path : this.labelService.getUriLabel(stackFrame.source.uri);
630
717
  if (stackFrame.source.raw.origin) {
631
718
  title += `\n${stackFrame.source.raw.origin}`;
632
719
  }
633
- data.elementDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.file, title));
720
+ data.elementDisposables.add(
721
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.file, title)
722
+ );
634
723
  data.label.set(stackFrame.name, createMatches(element.filterData), stackFrame.name);
635
724
  data.fileName.textContent = getSpecificSourceName(stackFrame);
636
725
  if (stackFrame.range.startLineNumber !== undefined) {
@@ -638,26 +727,27 @@ let StackFramesRenderer = class StackFramesRenderer {
638
727
  if (stackFrame.range.startColumn) {
639
728
  data.lineNumber.textContent += `:${stackFrame.range.startColumn}`;
640
729
  }
641
- data.lineNumber.classList.remove('unavailable');
642
- }
643
- else {
644
- data.lineNumber.classList.add('unavailable');
730
+ data.lineNumber.classList.remove("unavailable");
731
+ } else {
732
+ data.lineNumber.classList.add("unavailable");
645
733
  }
646
734
  data.actionBar.clear();
647
735
  if (hasActions) {
648
- const action = data.elementDisposables.add(( new Action('debug.callStack.restartFrame', ( localize(6572, "Restart Frame")), ThemeIcon.asClassName(debugRestartFrame), true, async () => {
736
+ const action = data.elementDisposables.add(( new Action("debug.callStack.restartFrame", ( localize(6882, "Restart Frame")), ThemeIcon.asClassName(debugRestartFrame), true, async () => {
649
737
  try {
650
738
  await stackFrame.restart();
651
- }
652
- catch (e) {
739
+ } catch (e) {
653
740
  this.notificationService.error(e);
654
741
  }
655
742
  })));
656
- data.actionBar.push(action, { icon: true, label: false });
743
+ data.actionBar.push(action, {
744
+ icon: true,
745
+ label: false
746
+ });
657
747
  }
658
748
  }
659
749
  renderCompressedElements(node, index, templateData) {
660
- throw ( new Error('Method not implemented.'));
750
+ throw ( new Error("Method not implemented."));
661
751
  }
662
752
  disposeElement(element, index, templateData) {
663
753
  templateData.elementDisposables.clear();
@@ -666,14 +756,14 @@ let StackFramesRenderer = class StackFramesRenderer {
666
756
  templateData.templateDisposable.dispose();
667
757
  }
668
758
  };
669
- StackFramesRenderer = StackFramesRenderer_1 = ( __decorate([
670
- ( __param(0, IHoverService)),
671
- ( __param(1, ILabelService)),
672
- ( __param(2, INotificationService))
673
- ], StackFramesRenderer));
759
+ StackFramesRenderer = StackFramesRenderer_1 = ( __decorate([( __param(0, IHoverService)), ( __param(1, ILabelService)), ( __param(2, INotificationService))], StackFramesRenderer));
674
760
  let ErrorsRenderer = class ErrorsRenderer {
675
- static { ErrorsRenderer_1 = this; }
676
- static { this.ID = 'error'; }
761
+ static {
762
+ ErrorsRenderer_1 = this;
763
+ }
764
+ static {
765
+ this.ID = "error";
766
+ }
677
767
  get templateId() {
678
768
  return ErrorsRenderer_1.ID;
679
769
  }
@@ -681,78 +771,89 @@ let ErrorsRenderer = class ErrorsRenderer {
681
771
  this.hoverService = hoverService;
682
772
  }
683
773
  renderTemplate(container) {
684
- const label = append(container, $('.error'));
685
- return { label, templateDisposable: ( new DisposableStore()) };
774
+ const label = append(container, $(".error"));
775
+ return {
776
+ label,
777
+ templateDisposable: ( new DisposableStore())
778
+ };
686
779
  }
687
780
  renderElement(element, index, data) {
688
781
  const error = element.element;
689
782
  data.label.textContent = error;
690
- data.templateDisposable.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.label, error));
783
+ data.templateDisposable.add(
784
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), data.label, error)
785
+ );
691
786
  }
692
787
  renderCompressedElements(node, index, templateData) {
693
- throw ( new Error('Method not implemented.'));
694
- }
695
- disposeTemplate(templateData) {
788
+ throw ( new Error("Method not implemented."));
696
789
  }
790
+ disposeTemplate(templateData) {}
697
791
  };
698
- ErrorsRenderer = ErrorsRenderer_1 = ( __decorate([
699
- ( __param(0, IHoverService))
700
- ], ErrorsRenderer));
792
+ ErrorsRenderer = ErrorsRenderer_1 = ( __decorate([( __param(0, IHoverService))], ErrorsRenderer));
701
793
  class LoadMoreRenderer {
702
- static { this.ID = 'loadMore'; }
703
- static { this.LABEL = ( localize(6573, "Load More Stack Frames")); }
704
- constructor() { }
794
+ static {
795
+ this.ID = "loadMore";
796
+ }
797
+ static {
798
+ this.LABEL = ( localize(6883, "Load More Stack Frames"));
799
+ }
800
+ constructor() {}
705
801
  get templateId() {
706
802
  return LoadMoreRenderer.ID;
707
803
  }
708
804
  renderTemplate(container) {
709
- const label = append(container, $('.load-all'));
805
+ const label = append(container, $(".load-all"));
710
806
  label.style.color = asCssVariable(textLinkForeground);
711
- return { label };
807
+ return {
808
+ label
809
+ };
712
810
  }
713
811
  renderElement(element, index, data) {
714
812
  data.label.textContent = LoadMoreRenderer.LABEL;
715
813
  }
716
814
  renderCompressedElements(node, index, templateData) {
717
- throw ( new Error('Method not implemented.'));
718
- }
719
- disposeTemplate(templateData) {
815
+ throw ( new Error("Method not implemented."));
720
816
  }
817
+ disposeTemplate(templateData) {}
721
818
  }
722
819
  class ShowMoreRenderer {
723
- static { this.ID = 'showMore'; }
724
- constructor() { }
820
+ static {
821
+ this.ID = "showMore";
822
+ }
823
+ constructor() {}
725
824
  get templateId() {
726
825
  return ShowMoreRenderer.ID;
727
826
  }
728
827
  renderTemplate(container) {
729
- const label = append(container, $('.show-more'));
828
+ const label = append(container, $(".show-more"));
730
829
  label.style.color = asCssVariable(textLinkForeground);
731
- return { label };
830
+ return {
831
+ label
832
+ };
732
833
  }
733
834
  renderElement(element, index, data) {
734
835
  const stackFrames = element.element;
735
- if (stackFrames.every(sf => !!(sf.source && sf.source.origin && sf.source.origin === stackFrames[0].source.origin))) {
836
+ if (stackFrames.every(
837
+ sf => !!(sf.source && sf.source.origin && sf.source.origin === stackFrames[0].source.origin)
838
+ )) {
736
839
  data.label.textContent = ( localize(
737
- 6574,
840
+ 6884,
738
841
  "Show {0} More: {1}",
739
842
  stackFrames.length,
740
843
  stackFrames[0].source.origin
741
844
  ));
742
- }
743
- else {
744
- data.label.textContent = ( localize(6575, "Show {0} More Stack Frames", stackFrames.length));
845
+ } else {
846
+ data.label.textContent = ( localize(6885, "Show {0} More Stack Frames", stackFrames.length));
745
847
  }
746
848
  }
747
849
  renderCompressedElements(node, index, templateData) {
748
- throw ( new Error('Method not implemented.'));
749
- }
750
- disposeTemplate(templateData) {
850
+ throw ( new Error("Method not implemented."));
751
851
  }
852
+ disposeTemplate(templateData) {}
752
853
  }
753
854
  class CallStackDelegate {
754
855
  getHeight(element) {
755
- if (element instanceof StackFrame && element.presentationHint === 'label') {
856
+ if (element instanceof StackFrame && element.presentationHint === "label") {
756
857
  return 16;
757
858
  }
758
859
  if (element instanceof ThreadAndSessionIds || element instanceof Array) {
@@ -770,7 +871,7 @@ class CallStackDelegate {
770
871
  if (element instanceof StackFrame) {
771
872
  return StackFramesRenderer.ID;
772
873
  }
773
- if (typeof element === 'string') {
874
+ if (typeof element === "string") {
774
875
  return ErrorsRenderer.ID;
775
876
  }
776
877
  if (element instanceof ThreadAndSessionIds) {
@@ -783,14 +884,13 @@ function stoppedText(stoppedDetails) {
783
884
  return stoppedDetails.text ?? stoppedDescription(stoppedDetails);
784
885
  }
785
886
  function stoppedDescription(stoppedDetails) {
786
- return stoppedDetails.description ||
787
- (stoppedDetails.reason ? ( localize(6576, "Paused on {0}", stoppedDetails.reason)) : ( localize(6577, "Paused")));
887
+ return stoppedDetails.description || (stoppedDetails.reason ? ( localize(6886, "Paused on {0}", stoppedDetails.reason)) : ( localize(6887, "Paused")));
788
888
  }
789
889
  function isDebugModel(obj) {
790
- return !!obj && typeof obj.getSessions === 'function';
890
+ return !!obj && typeof obj.getSessions === "function";
791
891
  }
792
892
  function isDebugSession(obj) {
793
- return !!obj && typeof obj.getAllThreads === 'function';
893
+ return !!obj && typeof obj.getAllThreads === "function";
794
894
  }
795
895
  class CallStackDataSource {
796
896
  constructor(debugService) {
@@ -815,8 +915,7 @@ class CallStackDataSource {
815
915
  }
816
916
  const threads = sessions[0].getAllThreads();
817
917
  return threads.length === 1 ? this.getThreadChildren(threads[0]) : Promise.resolve(threads);
818
- }
819
- else if (isDebugSession(element)) {
918
+ } else if (isDebugSession(element)) {
820
919
  const childSessions = this.debugService.getModel().getSessions().filter(s => s.parentSession === element);
821
920
  const threads = element.getAllThreads();
822
921
  if (threads.length === 1) {
@@ -824,8 +923,7 @@ class CallStackDataSource {
824
923
  return children.concat(childSessions);
825
924
  }
826
925
  return Promise.resolve(threads.concat(childSessions));
827
- }
828
- else {
926
+ } else {
829
927
  return this.getThreadChildren(element);
830
928
  }
831
929
  }
@@ -874,21 +972,21 @@ class CallStackDataSource {
874
972
  }
875
973
  class CallStackAccessibilityProvider {
876
974
  getWidgetAriaLabel() {
877
- return localize(6578, "Debug Call Stack");
975
+ return localize(6888, "Debug Call Stack");
878
976
  }
879
977
  getWidgetRole() {
880
- return 'treegrid';
978
+ return "treegrid";
881
979
  }
882
980
  getRole(_element) {
883
- return 'row';
981
+ return "row";
884
982
  }
885
983
  getAriaLabel(element) {
886
984
  if (element instanceof Thread) {
887
- return localize(6579, "Thread {0} {1}", element.name, element.stateLabel);
985
+ return localize(6889, "Thread {0} {1}", element.name, element.stateLabel);
888
986
  }
889
987
  if (element instanceof StackFrame) {
890
988
  return localize(
891
- 6580,
989
+ 6890,
892
990
  "Stack Frame {0}, line {1}, {2}",
893
991
  element.name,
894
992
  element.range.startLineNumber,
@@ -897,14 +995,14 @@ class CallStackAccessibilityProvider {
897
995
  }
898
996
  if (isDebugSession(element)) {
899
997
  const thread = element.getAllThreads().find(t => t.stopped);
900
- const state = thread ? thread.stateLabel : ( localize(6569, "Running"));
901
- return localize(6581, "Session {0} {1}", element.getLabel(), state);
998
+ const state = thread ? thread.stateLabel : ( localize(6879, "Running"));
999
+ return localize(6891, "Session {0} {1}", element.getLabel(), state);
902
1000
  }
903
- if (typeof element === 'string') {
1001
+ if (typeof element === "string") {
904
1002
  return element;
905
1003
  }
906
1004
  if (element instanceof Array) {
907
- return localize(6575, "Show {0} More Stack Frames", element.length);
1005
+ return localize(6885, "Show {0} More Stack Frames", element.length);
908
1006
  }
909
1007
  return LoadMoreRenderer.LABEL;
910
1008
  }
@@ -930,17 +1028,17 @@ class CallStackCompressionDelegate {
930
1028
  registerAction2(class Collapse extends ViewAction {
931
1029
  constructor() {
932
1030
  super({
933
- id: 'callStack.collapse',
1031
+ id: "callStack.collapse",
934
1032
  viewId: CALLSTACK_VIEW_ID,
935
- title: ( localize(6582, "Collapse All")),
1033
+ title: ( localize(6892, "Collapse All")),
936
1034
  f1: false,
937
1035
  icon: Codicon.collapseAll,
938
1036
  precondition: ( CONTEXT_DEBUG_STATE.isEqualTo(getStateLabel(State.Stopped))),
939
1037
  menu: {
940
1038
  id: MenuId.ViewTitle,
941
1039
  order: 10,
942
- group: 'navigation',
943
- when: ( ContextKeyExpr.equals('view', CALLSTACK_VIEW_ID))
1040
+ group: "navigation",
1041
+ when: ( ContextKeyExpr.equals("view", CALLSTACK_VIEW_ID))
944
1042
  }
945
1043
  });
946
1044
  }
@@ -950,20 +1048,46 @@ registerAction2(class Collapse extends ViewAction {
950
1048
  });
951
1049
  function registerCallStackInlineMenuItem(id, title, icon, when, order, precondition) {
952
1050
  MenuRegistry.appendMenuItem(MenuId.DebugCallStackContext, {
953
- group: 'inline',
1051
+ group: "inline",
954
1052
  order,
955
1053
  when,
956
- command: { id, title, icon, precondition }
1054
+ command: {
1055
+ id,
1056
+ title,
1057
+ icon,
1058
+ precondition
1059
+ }
957
1060
  });
958
1061
  }
959
- const threadOrSessionWithOneThread = ( ContextKeyExpr.or(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD))));
1062
+ const threadOrSessionWithOneThread = ( ContextKeyExpr.or(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo("thread")), ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo("session")), CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD))));
960
1063
  registerCallStackInlineMenuItem(PAUSE_ID, PAUSE_LABEL, debugPause, ( ContextKeyExpr.and(threadOrSessionWithOneThread, ( CONTEXT_CALLSTACK_ITEM_STOPPED.toNegated()))), 10, ( CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated()));
961
1064
  registerCallStackInlineMenuItem(CONTINUE_ID, CONTINUE_LABEL, debugContinue, ( ContextKeyExpr.and(threadOrSessionWithOneThread, CONTEXT_CALLSTACK_ITEM_STOPPED)), 10);
962
- registerCallStackInlineMenuItem(STEP_OVER_ID, STEP_OVER_LABEL, debugStepOver, threadOrSessionWithOneThread, 20, CONTEXT_CALLSTACK_ITEM_STOPPED);
963
- registerCallStackInlineMenuItem(STEP_INTO_ID, STEP_INTO_LABEL, debugStepInto, threadOrSessionWithOneThread, 30, CONTEXT_CALLSTACK_ITEM_STOPPED);
964
- registerCallStackInlineMenuItem(STEP_OUT_ID, STEP_OUT_LABEL, debugStepOut, threadOrSessionWithOneThread, 40, CONTEXT_CALLSTACK_ITEM_STOPPED);
965
- registerCallStackInlineMenuItem(RESTART_SESSION_ID, RESTART_LABEL, debugRestart, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), 50);
966
- registerCallStackInlineMenuItem(STOP_ID, STOP_LABEL, debugStop, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_SESSION_IS_ATTACH.toNegated()), ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')))), 60);
967
- registerCallStackInlineMenuItem(DISCONNECT_ID, DISCONNECT_LABEL, debugDisconnect, ( ContextKeyExpr.and(CONTEXT_CALLSTACK_SESSION_IS_ATTACH, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')))), 60);
1065
+ registerCallStackInlineMenuItem(
1066
+ STEP_OVER_ID,
1067
+ STEP_OVER_LABEL,
1068
+ debugStepOver,
1069
+ threadOrSessionWithOneThread,
1070
+ 20,
1071
+ CONTEXT_CALLSTACK_ITEM_STOPPED
1072
+ );
1073
+ registerCallStackInlineMenuItem(
1074
+ STEP_INTO_ID,
1075
+ STEP_INTO_LABEL,
1076
+ debugStepInto,
1077
+ threadOrSessionWithOneThread,
1078
+ 30,
1079
+ CONTEXT_CALLSTACK_ITEM_STOPPED
1080
+ );
1081
+ registerCallStackInlineMenuItem(
1082
+ STEP_OUT_ID,
1083
+ STEP_OUT_LABEL,
1084
+ debugStepOut,
1085
+ threadOrSessionWithOneThread,
1086
+ 40,
1087
+ CONTEXT_CALLSTACK_ITEM_STOPPED
1088
+ );
1089
+ registerCallStackInlineMenuItem(RESTART_SESSION_ID, RESTART_LABEL, debugRestart, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo("session")), 50);
1090
+ registerCallStackInlineMenuItem(STOP_ID, STOP_LABEL, debugStop, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_SESSION_IS_ATTACH.toNegated()), ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo("session")))), 60);
1091
+ registerCallStackInlineMenuItem(DISCONNECT_ID, DISCONNECT_LABEL, debugDisconnect, ( ContextKeyExpr.and(CONTEXT_CALLSTACK_SESSION_IS_ATTACH, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo("session")))), 60);
968
1092
 
969
1093
  export { CallStackView, getContext, getContextForContributedActions, getSpecificSourceName };