@codingame/monaco-vscode-debug-service-override 4.5.1 → 5.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 +2 -2
  3. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +140 -177
  4. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +260 -531
  5. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +34 -52
  6. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +44 -71
  7. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +116 -120
  8. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +8 -11
  9. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +81 -140
  10. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +73 -76
  11. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +30 -30
  12. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +1 -1
  13. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +17 -49
  14. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +143 -135
  15. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +220 -177
  16. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +9 -17
  17. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +70 -111
  18. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +84 -65
  19. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +85 -57
  20. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +50 -75
  21. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +13 -29
  22. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +22 -51
  23. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +52 -78
  24. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +1 -1
  26. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +60 -76
  27. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +29 -54
  28. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +4 -1
  29. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +42 -55
  30. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +17 -16
  31. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +84 -110
  32. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +50 -88
  33. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +60 -60
  34. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +14 -28
  35. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +12 -15
  36. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +71 -146
  37. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +1 -0
  38. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +92 -111
  39. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +5 -12
  40. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +42 -22
  41. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -1042
  42. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +0 -116
  43. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +0 -87
@@ -41,17 +41,18 @@ import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
41
41
  import { ViewPane, ViewAction } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
42
42
  import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
43
43
  import { renderViewTree } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
44
- import { STOP_ID, DISCONNECT_ID, PAUSE_ID, PAUSE_LABEL, CONTINUE_ID, CONTINUE_LABEL, STEP_OVER_ID, STEP_OVER_LABEL, STEP_INTO_ID, STEP_INTO_LABEL, STEP_OUT_ID, STEP_OUT_LABEL, RESTART_SESSION_ID, RESTART_LABEL, STOP_LABEL, DISCONNECT_LABEL } from './debugCommands.js';
44
+ import { STOP_ID, DISCONNECT_ID, PAUSE_ID, PAUSE_LABEL, CONTINUE_ID, CONTINUE_LABEL, STEP_OVER_ID, STEP_OVER_LABEL, STEP_INTO_ID, STEP_INTO_LABEL, STEP_OUT_ID, STEP_OUT_LABEL, RESTART_SESSION_ID, RESTART_LABEL, STOP_LABEL, DISCONNECT_LABEL } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugCommands';
45
45
  import { callstackViewSession, debugRestartFrame, debugPause, debugContinue, debugStepOver, debugStepInto, debugStepOut, debugRestart, debugStop, debugDisconnect } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
46
46
  import { createDisconnectMenuItemAction } from './debugToolBar.js';
47
- import { CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CALLSTACK_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
47
+ import { CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CALLSTACK_SESSION_IS_ATTACH, CONTEXT_CALLSTACK_ITEM_STOPPED, CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, isFrameDeemphasized, CALLSTACK_VIEW_ID, CONTEXT_DEBUG_STATE, getStateLabel, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
48
48
  import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
49
49
  import { StackFrame, Thread, ThreadAndSessionIds } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
50
50
  import { isSessionAttach } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugUtils';
51
- import { setupCustomHover } from 'vscode/vscode/vs/base/browser/ui/hover/updatableHoverWidget';
52
51
  import { getDefaultHoverDelegate } from 'vscode/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
52
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
53
53
 
54
- var SessionsRenderer_1, ThreadsRenderer_1, StackFramesRenderer_1;
54
+ var SessionsRenderer_1, ThreadsRenderer_1, StackFramesRenderer_1, ErrorsRenderer_1;
55
+ const _moduleId = "vs/workbench/contrib/debug/browser/callStackView";
55
56
  const $ = $$1;
56
57
  function assignSessionContext(element, context) {
57
58
  context.sessionId = element.getId();
@@ -88,7 +89,9 @@ function getContextForContributedActions(element) {
88
89
  if (element.source.inMemory) {
89
90
  return element.source.raw.path || element.source.reference || element.source.name;
90
91
  }
91
- return ( element.source.uri.toString());
92
+ return (
93
+ (element.source.uri.toString())
94
+ );
92
95
  }
93
96
  if (element instanceof Thread) {
94
97
  return element.threadId;
@@ -101,7 +104,7 @@ function getContextForContributedActions(element) {
101
104
  function getSpecificSourceName(stackFrame) {
102
105
  let callStack = stackFrame.thread.getStaleCallStack();
103
106
  callStack = callStack.length > 0 ? callStack : stackFrame.thread.getCallStack();
104
- const otherSources = ( callStack.map(sf => sf.source)).filter(s => s !== stackFrame.source);
107
+ const otherSources = ( (callStack.map(sf => sf.source))).filter(s => s !== stackFrame.source);
105
108
  let suffixLength = 0;
106
109
  otherSources.forEach(s => {
107
110
  if (s.name === stackFrame.source.name) {
@@ -121,17 +124,17 @@ async function expandTo(session, tree) {
121
124
  await tree.expand(session);
122
125
  }
123
126
  let CallStackView = class CallStackView extends ViewPane {
124
- constructor(options, contextMenuService, debugService, keybindingService, instantiationService, viewDescriptorService, configurationService, contextKeyService, openerService, themeService, telemetryService, menuService) {
125
- super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
127
+ constructor(options, contextMenuService, debugService, keybindingService, instantiationService, viewDescriptorService, configurationService, contextKeyService, openerService, themeService, telemetryService, hoverService, menuService) {
128
+ super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, hoverService);
126
129
  this.options = options;
127
130
  this.debugService = debugService;
128
131
  this.menuService = menuService;
129
132
  this.needsRefresh = false;
130
133
  this.ignoreSelectionChangedEvent = false;
131
134
  this.ignoreFocusStackFrameEvent = false;
132
- this.autoExpandedSessions = ( new Set());
135
+ this.autoExpandedSessions = ( (new Set()));
133
136
  this.selectionNeedsUpdate = false;
134
- this.onCallStackChangeScheduler = this._register(( new RunOnceScheduler(async () => {
137
+ this.onCallStackChangeScheduler = this._register(( (new RunOnceScheduler(async () => {
135
138
  const sessions = this.debugService.getModel().getSessions();
136
139
  if (sessions.length === 0) {
137
140
  this.autoExpandedSessions.clear();
@@ -145,11 +148,7 @@ let CallStackView = class CallStackView extends ViewPane {
145
148
  this.stateMessage.hidden = false;
146
149
  }
147
150
  else if (sessions.length === 1 && sessions[0].state === 3 ) {
148
- this.stateMessageLabel.textContent = ( localizeWithPath(
149
- 'vs/workbench/contrib/debug/browser/callStackView',
150
- { key: 'running', comment: ['indicates state'] },
151
- "Running"
152
- ));
151
+ this.stateMessageLabel.textContent = ( localizeWithPath(_moduleId, 0, "Running"));
153
152
  this.stateMessageLabelHover.update(sessions[0].getLabel());
154
153
  this.stateMessageLabel.classList.remove('exception');
155
154
  this.stateMessage.hidden = false;
@@ -162,9 +161,9 @@ let CallStackView = class CallStackView extends ViewPane {
162
161
  this.dataSource.deemphasizedStackFramesToShow = [];
163
162
  await this.tree.updateChildren();
164
163
  try {
165
- const toExpand = ( new Set());
164
+ const toExpand = ( (new Set()));
166
165
  sessions.forEach(s => {
167
- if (s.parentSession && !( this.autoExpandedSessions.has(s.parentSession))) {
166
+ if (s.parentSession && !( (this.autoExpandedSessions.has(s.parentSession)))) {
168
167
  toExpand.add(s.parentSession);
169
168
  }
170
169
  });
@@ -179,30 +178,30 @@ let CallStackView = class CallStackView extends ViewPane {
179
178
  this.selectionNeedsUpdate = false;
180
179
  await this.updateTreeSelection();
181
180
  }
182
- }, 50)));
181
+ }, 50))));
183
182
  }
184
183
  renderHeaderTitle(container) {
185
184
  super.renderHeaderTitle(container, this.options.title);
186
185
  this.stateMessage = append(container, $('span.call-stack-state-message'));
187
186
  this.stateMessage.hidden = true;
188
187
  this.stateMessageLabel = append(this.stateMessage, $('span.label'));
189
- this.stateMessageLabelHover = this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.stateMessage, ''));
188
+ this.stateMessageLabelHover = this._register(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.stateMessage, ''));
190
189
  }
191
190
  renderBody(container) {
192
191
  super.renderBody(container);
193
192
  this.element.classList.add('debug-pane');
194
193
  container.classList.add('debug-call-stack');
195
194
  const treeContainer = renderViewTree(container);
196
- this.dataSource = ( new CallStackDataSource(this.debugService));
197
- this.tree = this.instantiationService.createInstance(WorkbenchCompressibleAsyncDataTree, 'CallStackView', treeContainer, ( new CallStackDelegate()), ( new CallStackCompressionDelegate(this.debugService)), [
195
+ this.dataSource = ( (new CallStackDataSource(this.debugService)));
196
+ this.tree = this.instantiationService.createInstance(WorkbenchCompressibleAsyncDataTree, 'CallStackView', treeContainer, ( (new CallStackDelegate())), ( (new CallStackCompressionDelegate(this.debugService))), [
198
197
  this.instantiationService.createInstance(SessionsRenderer),
199
198
  this.instantiationService.createInstance(ThreadsRenderer),
200
199
  this.instantiationService.createInstance(StackFramesRenderer),
201
- ( new ErrorsRenderer()),
202
- ( new LoadMoreRenderer()),
203
- ( new ShowMoreRenderer())
200
+ this.instantiationService.createInstance(ErrorsRenderer),
201
+ ( (new LoadMoreRenderer())),
202
+ ( (new ShowMoreRenderer()))
204
203
  ], this.dataSource, {
205
- accessibilityProvider: ( new CallStackAccessibilityProvider()),
204
+ accessibilityProvider: ( (new CallStackAccessibilityProvider())),
206
205
  compressionEnabled: true,
207
206
  autoExpandSingleChildren: true,
208
207
  identityProvider: {
@@ -230,11 +229,7 @@ let CallStackView = class CallStackView extends ViewPane {
230
229
  if (e instanceof ThreadAndSessionIds) {
231
230
  return LoadMoreRenderer.LABEL;
232
231
  }
233
- return ( localizeWithPath(
234
- 'vs/workbench/contrib/debug/browser/callStackView',
235
- 'showMoreStackFrames2',
236
- "Show More Stack Frames"
237
- ));
232
+ return ( localizeWithPath(_moduleId, 1, "Show More Stack Frames"));
238
233
  },
239
234
  getCompressedNodeKeyboardNavigationLabel: (e) => {
240
235
  const firstItem = e[0];
@@ -245,9 +240,7 @@ let CallStackView = class CallStackView extends ViewPane {
245
240
  }
246
241
  },
247
242
  expandOnlyOnTwistieClick: true,
248
- overrideStyles: {
249
- listBackground: this.getBackgroundColor()
250
- }
243
+ overrideStyles: this.getLocationBasedColors().listOverrideStyles
251
244
  });
252
245
  this.tree.setInput(this.debugService.getModel());
253
246
  this._register(this.tree);
@@ -424,19 +417,20 @@ let CallStackView = class CallStackView extends ViewPane {
424
417
  });
425
418
  }
426
419
  };
427
- CallStackView = ( __decorate([
428
- ( __param(1, IContextMenuService)),
429
- ( __param(2, IDebugService)),
430
- ( __param(3, IKeybindingService)),
431
- ( __param(4, IInstantiationService)),
432
- ( __param(5, IViewDescriptorService)),
433
- ( __param(6, IConfigurationService)),
434
- ( __param(7, IContextKeyService)),
435
- ( __param(8, IOpenerService)),
436
- ( __param(9, IThemeService)),
437
- ( __param(10, ITelemetryService)),
438
- ( __param(11, IMenuService))
439
- ], CallStackView));
420
+ CallStackView = ( (__decorate([
421
+ ( (__param(1, IContextMenuService))),
422
+ ( (__param(2, IDebugService))),
423
+ ( (__param(3, IKeybindingService))),
424
+ ( (__param(4, IInstantiationService))),
425
+ ( (__param(5, IViewDescriptorService))),
426
+ ( (__param(6, IConfigurationService))),
427
+ ( (__param(7, IContextKeyService))),
428
+ ( (__param(8, IOpenerService))),
429
+ ( (__param(9, IThemeService))),
430
+ ( (__param(10, ITelemetryService))),
431
+ ( (__param(11, IHoverService))),
432
+ ( (__param(12, IMenuService)))
433
+ ], CallStackView)));
440
434
  function getSessionContextOverlay(session) {
441
435
  return [
442
436
  [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'session'],
@@ -448,9 +442,10 @@ function getSessionContextOverlay(session) {
448
442
  let SessionsRenderer = class SessionsRenderer {
449
443
  static { SessionsRenderer_1 = this; }
450
444
  static { this.ID = 'session'; }
451
- constructor(instantiationService, contextKeyService, menuService) {
445
+ constructor(instantiationService, contextKeyService, hoverService, menuService) {
452
446
  this.instantiationService = instantiationService;
453
447
  this.contextKeyService = contextKeyService;
448
+ this.hoverService = hoverService;
454
449
  this.menuService = menuService;
455
450
  }
456
451
  get templateId() {
@@ -461,14 +456,14 @@ let SessionsRenderer = class SessionsRenderer {
461
456
  append(session, $(ThemeIcon.asCSSSelector(callstackViewSession)));
462
457
  const name = append(session, $('.name'));
463
458
  const stateLabel = append(session, $('span.state.label.monaco-count-badge.long'));
464
- const templateDisposable = ( new DisposableStore());
465
- const label = templateDisposable.add(( new HighlightedLabel(name)));
466
- const stopActionViewItemDisposables = templateDisposable.add(( new DisposableStore()));
467
- const actionBar = templateDisposable.add(( new ActionBar(session, {
459
+ const templateDisposable = ( (new DisposableStore()));
460
+ const label = templateDisposable.add(( (new HighlightedLabel(name))));
461
+ const stopActionViewItemDisposables = templateDisposable.add(( (new DisposableStore())));
462
+ const actionBar = templateDisposable.add(( (new ActionBar(session, {
468
463
  actionViewItemProvider: (action, options) => {
469
464
  if ((action.id === STOP_ID || action.id === DISCONNECT_ID) && action instanceof MenuItemAction) {
470
465
  stopActionViewItemDisposables.clear();
471
- const item = this.instantiationService.invokeFunction(accessor => createDisconnectMenuItemAction(action, stopActionViewItemDisposables, accessor, options));
466
+ const item = this.instantiationService.invokeFunction(accessor => createDisconnectMenuItemAction(action, stopActionViewItemDisposables, accessor, { ...options, menuAsChild: false }));
472
467
  if (item) {
473
468
  return item;
474
469
  }
@@ -481,8 +476,8 @@ let SessionsRenderer = class SessionsRenderer {
481
476
  }
482
477
  return undefined;
483
478
  }
484
- })));
485
- const elementDisposable = templateDisposable.add(( new DisposableStore()));
479
+ }))));
480
+ const elementDisposable = templateDisposable.add(( (new DisposableStore())));
486
481
  return { session, name, stateLabel, label, actionBar, elementDisposable, templateDisposable };
487
482
  }
488
483
  renderElement(element, _, data) {
@@ -494,11 +489,7 @@ let SessionsRenderer = class SessionsRenderer {
494
489
  this.doRenderElement(lastElement, matches, templateData);
495
490
  }
496
491
  doRenderElement(session, matches, data) {
497
- const sessionHover = data.elementDisposable.add(setupCustomHover(getDefaultHoverDelegate('mouse'), data.session, ( localizeWithPath(
498
- 'vs/workbench/contrib/debug/browser/callStackView',
499
- { key: 'session', comment: ['Session is a noun'] },
500
- "Session"
501
- ))));
492
+ const sessionHover = data.elementDisposable.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.session, ( localizeWithPath(_moduleId, 2, "Session"))));
502
493
  data.label.set(session.getLabel(), matches);
503
494
  const stoppedDetails = session.getStoppedDetails();
504
495
  const thread = session.getAllThreads().find(t => t.stopped);
@@ -527,11 +518,7 @@ let SessionsRenderer = class SessionsRenderer {
527
518
  data.stateLabel.classList.toggle('exception', thread.stoppedDetails.reason === 'exception');
528
519
  }
529
520
  else {
530
- data.stateLabel.textContent = ( localizeWithPath(
531
- 'vs/workbench/contrib/debug/browser/callStackView',
532
- { key: 'running', comment: ['indicates state'] },
533
- "Running"
534
- ));
521
+ data.stateLabel.textContent = ( localizeWithPath(_moduleId, 0, "Running"));
535
522
  data.stateLabel.classList.remove('exception');
536
523
  }
537
524
  }
@@ -545,11 +532,12 @@ let SessionsRenderer = class SessionsRenderer {
545
532
  templateData.elementDisposable.clear();
546
533
  }
547
534
  };
548
- SessionsRenderer = SessionsRenderer_1 = ( __decorate([
549
- ( __param(0, IInstantiationService)),
550
- ( __param(1, IContextKeyService)),
551
- ( __param(2, IMenuService))
552
- ], SessionsRenderer));
535
+ SessionsRenderer = SessionsRenderer_1 = ( (__decorate([
536
+ ( (__param(0, IInstantiationService))),
537
+ ( (__param(1, IContextKeyService))),
538
+ ( (__param(2, IHoverService))),
539
+ ( (__param(3, IMenuService)))
540
+ ], SessionsRenderer)));
553
541
  function getThreadContextOverlay(thread) {
554
542
  return [
555
543
  [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'thread'],
@@ -559,8 +547,9 @@ function getThreadContextOverlay(thread) {
559
547
  let ThreadsRenderer = class ThreadsRenderer {
560
548
  static { ThreadsRenderer_1 = this; }
561
549
  static { this.ID = 'thread'; }
562
- constructor(contextKeyService, menuService) {
550
+ constructor(contextKeyService, hoverService, menuService) {
563
551
  this.contextKeyService = contextKeyService;
552
+ this.hoverService = hoverService;
564
553
  this.menuService = menuService;
565
554
  }
566
555
  get templateId() {
@@ -570,15 +559,15 @@ let ThreadsRenderer = class ThreadsRenderer {
570
559
  const thread = append(container, $('.thread'));
571
560
  const name = append(thread, $('.name'));
572
561
  const stateLabel = append(thread, $('span.state.label.monaco-count-badge.long'));
573
- const templateDisposable = ( new DisposableStore());
574
- const label = templateDisposable.add(( new HighlightedLabel(name)));
575
- const actionBar = templateDisposable.add(( new ActionBar(thread)));
576
- const elementDisposable = templateDisposable.add(( new DisposableStore()));
562
+ const templateDisposable = ( (new DisposableStore()));
563
+ const label = templateDisposable.add(( (new HighlightedLabel(name))));
564
+ const actionBar = templateDisposable.add(( (new ActionBar(thread))));
565
+ const elementDisposable = templateDisposable.add(( (new DisposableStore())));
577
566
  return { thread, name, stateLabel, label, actionBar, elementDisposable, templateDisposable };
578
567
  }
579
568
  renderElement(element, _index, data) {
580
569
  const thread = element.element;
581
- data.elementDisposable.add(setupCustomHover(getDefaultHoverDelegate('mouse'), data.thread, thread.name));
570
+ data.elementDisposable.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.thread, thread.name));
582
571
  data.label.set(thread.name, createMatches(element.filterData));
583
572
  data.stateLabel.textContent = thread.stateLabel;
584
573
  data.stateLabel.classList.toggle('exception', thread.stoppedDetails?.reason === 'exception');
@@ -597,7 +586,7 @@ let ThreadsRenderer = class ThreadsRenderer {
597
586
  setupActionBar();
598
587
  }
599
588
  renderCompressedElements(_node, _index, _templateData, _height) {
600
- throw new Error('Method not implemented.');
589
+ throw ( (new Error('Method not implemented.')));
601
590
  }
602
591
  disposeElement(_element, _index, templateData) {
603
592
  templateData.elementDisposable.clear();
@@ -606,10 +595,11 @@ let ThreadsRenderer = class ThreadsRenderer {
606
595
  templateData.templateDisposable.dispose();
607
596
  }
608
597
  };
609
- ThreadsRenderer = ThreadsRenderer_1 = ( __decorate([
610
- ( __param(0, IContextKeyService)),
611
- ( __param(1, IMenuService))
612
- ], ThreadsRenderer));
598
+ ThreadsRenderer = ThreadsRenderer_1 = ( (__decorate([
599
+ ( (__param(0, IContextKeyService))),
600
+ ( (__param(1, IHoverService))),
601
+ ( (__param(2, IMenuService)))
602
+ ], ThreadsRenderer)));
613
603
  function getStackFrameContextOverlay(stackFrame) {
614
604
  return [
615
605
  [CONTEXT_CALLSTACK_ITEM_TYPE.key, 'stackFrame'],
@@ -619,7 +609,8 @@ function getStackFrameContextOverlay(stackFrame) {
619
609
  let StackFramesRenderer = class StackFramesRenderer {
620
610
  static { StackFramesRenderer_1 = this; }
621
611
  static { this.ID = 'stackFrame'; }
622
- constructor(labelService, notificationService) {
612
+ constructor(hoverService, labelService, notificationService) {
613
+ this.hoverService = hoverService;
623
614
  this.labelService = labelService;
624
615
  this.notificationService = notificationService;
625
616
  }
@@ -633,23 +624,22 @@ let StackFramesRenderer = class StackFramesRenderer {
633
624
  const fileName = append(file, $('span.file-name'));
634
625
  const wrapper = append(file, $('span.line-number-wrapper'));
635
626
  const lineNumber = append(wrapper, $('span.line-number.monaco-count-badge'));
636
- const templateDisposable = ( new DisposableStore());
637
- const label = templateDisposable.add(( new HighlightedLabel(labelDiv)));
638
- const actionBar = templateDisposable.add(( new ActionBar(stackFrame)));
627
+ const templateDisposable = ( (new DisposableStore()));
628
+ const label = templateDisposable.add(( (new HighlightedLabel(labelDiv))));
629
+ const actionBar = templateDisposable.add(( (new ActionBar(stackFrame))));
639
630
  return { file, fileName, label, lineNumber, stackFrame, actionBar, templateDisposable };
640
631
  }
641
632
  renderElement(element, index, data) {
642
633
  const stackFrame = element.element;
643
- data.stackFrame.classList.toggle('disabled', !stackFrame.source || !stackFrame.source.available || isDeemphasized(stackFrame));
634
+ data.stackFrame.classList.toggle('disabled', !stackFrame.source || !stackFrame.source.available || isFrameDeemphasized(stackFrame));
644
635
  data.stackFrame.classList.toggle('label', stackFrame.presentationHint === 'label');
645
- data.stackFrame.classList.toggle('subtle', stackFrame.presentationHint === 'subtle');
646
636
  const hasActions = !!stackFrame.thread.session.capabilities.supportsRestartFrame && stackFrame.presentationHint !== 'label' && stackFrame.presentationHint !== 'subtle' && stackFrame.canRestart;
647
637
  data.stackFrame.classList.toggle('has-actions', hasActions);
648
638
  let title = stackFrame.source.inMemory ? stackFrame.source.uri.path : this.labelService.getUriLabel(stackFrame.source.uri);
649
639
  if (stackFrame.source.raw.origin) {
650
640
  title += `\n${stackFrame.source.raw.origin}`;
651
641
  }
652
- data.templateDisposable.add(setupCustomHover(getDefaultHoverDelegate('mouse'), data.file, title));
642
+ data.templateDisposable.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.file, title));
653
643
  data.label.set(stackFrame.name, createMatches(element.filterData), stackFrame.name);
654
644
  data.fileName.textContent = getSpecificSourceName(stackFrame);
655
645
  if (stackFrame.range.startLineNumber !== undefined) {
@@ -664,59 +654,59 @@ let StackFramesRenderer = class StackFramesRenderer {
664
654
  }
665
655
  data.actionBar.clear();
666
656
  if (hasActions) {
667
- const action = ( new Action('debug.callStack.restartFrame', ( localizeWithPath(
668
- 'vs/workbench/contrib/debug/browser/callStackView',
669
- 'restartFrame',
670
- "Restart Frame"
671
- )), ThemeIcon.asClassName(debugRestartFrame), true, async () => {
657
+ const action = ( (new Action('debug.callStack.restartFrame', ( localizeWithPath(_moduleId, 3, "Restart Frame")), ThemeIcon.asClassName(debugRestartFrame), true, async () => {
672
658
  try {
673
659
  await stackFrame.restart();
674
660
  }
675
661
  catch (e) {
676
662
  this.notificationService.error(e);
677
663
  }
678
- }));
664
+ })));
679
665
  data.actionBar.push(action, { icon: true, label: false });
680
666
  }
681
667
  }
682
668
  renderCompressedElements(node, index, templateData, height) {
683
- throw new Error('Method not implemented.');
669
+ throw ( (new Error('Method not implemented.')));
684
670
  }
685
671
  disposeTemplate(templateData) {
686
672
  templateData.actionBar.dispose();
687
673
  }
688
674
  };
689
- StackFramesRenderer = StackFramesRenderer_1 = ( __decorate([
690
- ( __param(0, ILabelService)),
691
- ( __param(1, INotificationService))
692
- ], StackFramesRenderer));
693
- class ErrorsRenderer {
675
+ StackFramesRenderer = StackFramesRenderer_1 = ( (__decorate([
676
+ ( (__param(0, IHoverService))),
677
+ ( (__param(1, ILabelService))),
678
+ ( (__param(2, INotificationService)))
679
+ ], StackFramesRenderer)));
680
+ let ErrorsRenderer = class ErrorsRenderer {
681
+ static { ErrorsRenderer_1 = this; }
694
682
  static { this.ID = 'error'; }
695
683
  get templateId() {
696
- return ErrorsRenderer.ID;
684
+ return ErrorsRenderer_1.ID;
685
+ }
686
+ constructor(hoverService) {
687
+ this.hoverService = hoverService;
697
688
  }
698
689
  renderTemplate(container) {
699
690
  const label = append(container, $('.error'));
700
- return { label, templateDisposable: ( new DisposableStore()) };
691
+ return { label, templateDisposable: ( (new DisposableStore())) };
701
692
  }
702
693
  renderElement(element, index, data) {
703
694
  const error = element.element;
704
695
  data.label.textContent = error;
705
- data.templateDisposable.add(setupCustomHover(getDefaultHoverDelegate('mouse'), data.label, error));
696
+ data.templateDisposable.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.label, error));
706
697
  }
707
698
  renderCompressedElements(node, index, templateData, height) {
708
- throw new Error('Method not implemented.');
699
+ throw ( (new Error('Method not implemented.')));
709
700
  }
710
701
  disposeTemplate(templateData) {
711
702
  }
712
- }
703
+ };
704
+ ErrorsRenderer = ErrorsRenderer_1 = ( (__decorate([
705
+ ( (__param(0, IHoverService)))
706
+ ], ErrorsRenderer)));
713
707
  class LoadMoreRenderer {
714
708
  static { this.ID = 'loadMore'; }
715
- static { this.LABEL = ( localizeWithPath(
716
- 'vs/workbench/contrib/debug/browser/callStackView',
717
- 'loadAllStackFrames',
718
- "Load More Stack Frames"
719
- )); }
709
+ static { this.LABEL = ( localizeWithPath(_moduleId, 4, "Load More Stack Frames")); }
720
710
  constructor() { }
721
711
  get templateId() {
722
712
  return LoadMoreRenderer.ID;
@@ -730,7 +720,7 @@ class LoadMoreRenderer {
730
720
  data.label.textContent = LoadMoreRenderer.LABEL;
731
721
  }
732
722
  renderCompressedElements(node, index, templateData, height) {
733
- throw new Error('Method not implemented.');
723
+ throw ( (new Error('Method not implemented.')));
734
724
  }
735
725
  disposeTemplate(templateData) {
736
726
  }
@@ -750,24 +740,19 @@ class ShowMoreRenderer {
750
740
  const stackFrames = element.element;
751
741
  if (stackFrames.every(sf => !!(sf.source && sf.source.origin && sf.source.origin === stackFrames[0].source.origin))) {
752
742
  data.label.textContent = ( localizeWithPath(
753
- 'vs/workbench/contrib/debug/browser/callStackView',
754
- 'showMoreAndOrigin',
743
+ _moduleId,
744
+ 5,
755
745
  "Show {0} More: {1}",
756
746
  stackFrames.length,
757
747
  stackFrames[0].source.origin
758
748
  ));
759
749
  }
760
750
  else {
761
- data.label.textContent = ( localizeWithPath(
762
- 'vs/workbench/contrib/debug/browser/callStackView',
763
- 'showMoreStackFrames',
764
- "Show {0} More Stack Frames",
765
- stackFrames.length
766
- ));
751
+ data.label.textContent = ( localizeWithPath(_moduleId, 6, "Show {0} More Stack Frames", stackFrames.length));
767
752
  }
768
753
  }
769
754
  renderCompressedElements(node, index, templateData, height) {
770
- throw new Error('Method not implemented.');
755
+ throw ( (new Error('Method not implemented.')));
771
756
  }
772
757
  disposeTemplate(templateData) {
773
758
  }
@@ -806,12 +791,7 @@ function stoppedText(stoppedDetails) {
806
791
  }
807
792
  function stoppedDescription(stoppedDetails) {
808
793
  return stoppedDetails.description ||
809
- (stoppedDetails.reason ? ( localizeWithPath(
810
- 'vs/workbench/contrib/debug/browser/callStackView',
811
- { key: 'pausedOn', comment: ['indicates reason for program being paused'] },
812
- "Paused on {0}",
813
- stoppedDetails.reason
814
- )) : ( localizeWithPath('vs/workbench/contrib/debug/browser/callStackView', 'paused', "Paused")));
794
+ (stoppedDetails.reason ? ( localizeWithPath(_moduleId, 7, "Paused on {0}", stoppedDetails.reason)) : ( localizeWithPath(_moduleId, 8, "Paused")));
815
795
  }
816
796
  function isDebugModel(obj) {
817
797
  return typeof obj.getSessions === 'function';
@@ -819,9 +799,6 @@ function isDebugModel(obj) {
819
799
  function isDebugSession(obj) {
820
800
  return obj && typeof obj.getAllThreads === 'function';
821
801
  }
822
- function isDeemphasized(frame) {
823
- return frame.source.presentationHint === 'deemphasize' || frame.presentationHint === 'deemphasize';
824
- }
825
802
  class CallStackDataSource {
826
803
  constructor(debugService) {
827
804
  this.debugService = debugService;
@@ -863,7 +840,7 @@ class CallStackDataSource {
863
840
  return this.getThreadCallstack(thread).then(children => {
864
841
  const result = [];
865
842
  children.forEach((child, index) => {
866
- if (child instanceof StackFrame && child.source && isDeemphasized(child)) {
843
+ if (child instanceof StackFrame && child.source && isFrameDeemphasized(child)) {
867
844
  if (this.deemphasizedStackFramesToShow.indexOf(child) === -1) {
868
845
  if (result.length) {
869
846
  const last = result[result.length - 1];
@@ -873,7 +850,7 @@ class CallStackDataSource {
873
850
  }
874
851
  }
875
852
  const nextChild = index < children.length - 1 ? children[index + 1] : undefined;
876
- if (nextChild instanceof StackFrame && nextChild.source && isDeemphasized(nextChild)) {
853
+ if (nextChild instanceof StackFrame && nextChild.source && isFrameDeemphasized(nextChild)) {
877
854
  result.push([child]);
878
855
  return;
879
856
  }
@@ -897,18 +874,14 @@ class CallStackDataSource {
897
874
  callStack = callStack.concat([thread.stoppedDetails.framesErrorMessage]);
898
875
  }
899
876
  if (!thread.reachedEndOfCallStack && thread.stoppedDetails) {
900
- callStack = callStack.concat([( new ThreadAndSessionIds(thread.session.getId(), thread.threadId))]);
877
+ callStack = callStack.concat([( (new ThreadAndSessionIds(thread.session.getId(), thread.threadId)))]);
901
878
  }
902
879
  return callStack;
903
880
  }
904
881
  }
905
882
  class CallStackAccessibilityProvider {
906
883
  getWidgetAriaLabel() {
907
- return ( localizeWithPath(
908
- 'vs/workbench/contrib/debug/browser/callStackView',
909
- { comment: ['Debug is a noun in this context, not a verb.'], key: 'callStackAriaLabel' },
910
- "Debug Call Stack"
911
- ));
884
+ return ( localizeWithPath(_moduleId, 9, "Debug Call Stack"));
912
885
  }
913
886
  getWidgetRole() {
914
887
  return 'treegrid';
@@ -918,18 +891,12 @@ class CallStackAccessibilityProvider {
918
891
  }
919
892
  getAriaLabel(element) {
920
893
  if (element instanceof Thread) {
921
- return ( localizeWithPath(
922
- 'vs/workbench/contrib/debug/browser/callStackView',
923
- { key: 'threadAriaLabel', comment: ['Placeholders stand for the thread name and the thread state.For example "Thread 1" and "Stopped'] },
924
- "Thread {0} {1}",
925
- element.name,
926
- element.stateLabel
927
- ));
894
+ return ( localizeWithPath(_moduleId, 10, "Thread {0} {1}", element.name, element.stateLabel));
928
895
  }
929
896
  if (element instanceof StackFrame) {
930
897
  return ( localizeWithPath(
931
- 'vs/workbench/contrib/debug/browser/callStackView',
932
- 'stackFrameAriaLabel',
898
+ _moduleId,
899
+ 11,
933
900
  "Stack Frame {0}, line {1}, {2}",
934
901
  element.name,
935
902
  element.range.startLineNumber,
@@ -938,29 +905,14 @@ class CallStackAccessibilityProvider {
938
905
  }
939
906
  if (isDebugSession(element)) {
940
907
  const thread = element.getAllThreads().find(t => t.stopped);
941
- const state = thread ? thread.stateLabel : ( localizeWithPath(
942
- 'vs/workbench/contrib/debug/browser/callStackView',
943
- { key: 'running', comment: ['indicates state'] },
944
- "Running"
945
- ));
946
- return ( localizeWithPath(
947
- 'vs/workbench/contrib/debug/browser/callStackView',
948
- { key: 'sessionLabel', comment: ['Placeholders stand for the session name and the session state. For example "Launch Program" and "Running"'] },
949
- "Session {0} {1}",
950
- element.getLabel(),
951
- state
952
- ));
908
+ const state = thread ? thread.stateLabel : ( localizeWithPath(_moduleId, 0, "Running"));
909
+ return ( localizeWithPath(_moduleId, 12, "Session {0} {1}", element.getLabel(), state));
953
910
  }
954
911
  if (typeof element === 'string') {
955
912
  return element;
956
913
  }
957
914
  if (element instanceof Array) {
958
- return ( localizeWithPath(
959
- 'vs/workbench/contrib/debug/browser/callStackView',
960
- 'showMoreStackFrames',
961
- "Show {0} More Stack Frames",
962
- element.length
963
- ));
915
+ return ( localizeWithPath(_moduleId, 6, "Show {0} More Stack Frames", element.length));
964
916
  }
965
917
  return LoadMoreRenderer.LABEL;
966
918
  }
@@ -975,7 +927,7 @@ class CallStackCompressionDelegate {
975
927
  return false;
976
928
  }
977
929
  const sessions = this.debugService.getModel().getSessions();
978
- if (( sessions.some(s => s.parentSession === stat && s.compact))) {
930
+ if (( (sessions.some(s => s.parentSession === stat && s.compact)))) {
979
931
  return false;
980
932
  }
981
933
  return true;
@@ -988,19 +940,15 @@ registerAction2(class Collapse extends ViewAction {
988
940
  super({
989
941
  id: 'callStack.collapse',
990
942
  viewId: CALLSTACK_VIEW_ID,
991
- title: ( localizeWithPath(
992
- 'vs/workbench/contrib/debug/browser/callStackView',
993
- 'collapse',
994
- "Collapse All"
995
- )),
943
+ title: ( localizeWithPath(_moduleId, 13, "Collapse All")),
996
944
  f1: false,
997
945
  icon: Codicon.collapseAll,
998
- precondition: ( CONTEXT_DEBUG_STATE.isEqualTo(getStateLabel(2 ))),
946
+ precondition: ( (CONTEXT_DEBUG_STATE.isEqualTo(getStateLabel(2 )))),
999
947
  menu: {
1000
948
  id: MenuId.ViewTitle,
1001
949
  order: 10,
1002
950
  group: 'navigation',
1003
- when: ( ContextKeyExpr.equals('view', CALLSTACK_VIEW_ID))
951
+ when: ( (ContextKeyExpr.equals('view', CALLSTACK_VIEW_ID)))
1004
952
  }
1005
953
  });
1006
954
  }
@@ -1016,14 +964,29 @@ function registerCallStackInlineMenuItem(id, title, icon, when, order, precondit
1016
964
  command: { id, title, icon, precondition }
1017
965
  });
1018
966
  }
1019
- const threadOrSessionWithOneThread = ( ContextKeyExpr.or(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')), ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD))));
1020
- registerCallStackInlineMenuItem(PAUSE_ID, PAUSE_LABEL, debugPause, ( ContextKeyExpr.and(threadOrSessionWithOneThread, ( CONTEXT_CALLSTACK_ITEM_STOPPED.toNegated()))), 10, ( CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated()));
1021
- registerCallStackInlineMenuItem(CONTINUE_ID, CONTINUE_LABEL, debugContinue, ( ContextKeyExpr.and(threadOrSessionWithOneThread, CONTEXT_CALLSTACK_ITEM_STOPPED)), 10);
967
+ const threadOrSessionWithOneThread = ( (ContextKeyExpr.or(
968
+ (CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('thread')),
969
+ (ContextKeyExpr.and(
970
+ (CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')),
971
+ CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD
972
+ ))
973
+ )));
974
+ registerCallStackInlineMenuItem(PAUSE_ID, PAUSE_LABEL, debugPause, ( (ContextKeyExpr.and(
975
+ threadOrSessionWithOneThread,
976
+ (CONTEXT_CALLSTACK_ITEM_STOPPED.toNegated())
977
+ ))), 10, ( (CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG.toNegated())));
978
+ registerCallStackInlineMenuItem(CONTINUE_ID, CONTINUE_LABEL, debugContinue, ( (ContextKeyExpr.and(threadOrSessionWithOneThread, CONTEXT_CALLSTACK_ITEM_STOPPED))), 10);
1022
979
  registerCallStackInlineMenuItem(STEP_OVER_ID, STEP_OVER_LABEL, debugStepOver, threadOrSessionWithOneThread, 20, CONTEXT_CALLSTACK_ITEM_STOPPED);
1023
980
  registerCallStackInlineMenuItem(STEP_INTO_ID, STEP_INTO_LABEL, debugStepInto, threadOrSessionWithOneThread, 30, CONTEXT_CALLSTACK_ITEM_STOPPED);
1024
981
  registerCallStackInlineMenuItem(STEP_OUT_ID, STEP_OUT_LABEL, debugStepOut, threadOrSessionWithOneThread, 40, CONTEXT_CALLSTACK_ITEM_STOPPED);
1025
- registerCallStackInlineMenuItem(RESTART_SESSION_ID, RESTART_LABEL, debugRestart, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')), 50);
1026
- registerCallStackInlineMenuItem(STOP_ID, STOP_LABEL, debugStop, ( ContextKeyExpr.and(( CONTEXT_CALLSTACK_SESSION_IS_ATTACH.toNegated()), ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')))), 60);
1027
- registerCallStackInlineMenuItem(DISCONNECT_ID, DISCONNECT_LABEL, debugDisconnect, ( ContextKeyExpr.and(CONTEXT_CALLSTACK_SESSION_IS_ATTACH, ( CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session')))), 60);
982
+ registerCallStackInlineMenuItem(RESTART_SESSION_ID, RESTART_LABEL, debugRestart, ( (CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session'))), 50);
983
+ registerCallStackInlineMenuItem(STOP_ID, STOP_LABEL, debugStop, ( (ContextKeyExpr.and(
984
+ (CONTEXT_CALLSTACK_SESSION_IS_ATTACH.toNegated()),
985
+ (CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session'))
986
+ ))), 60);
987
+ registerCallStackInlineMenuItem(DISCONNECT_ID, DISCONNECT_LABEL, debugDisconnect, ( (ContextKeyExpr.and(
988
+ CONTEXT_CALLSTACK_SESSION_IS_ATTACH,
989
+ (CONTEXT_CALLSTACK_ITEM_TYPE.isEqualTo('session'))
990
+ ))), 60);
1028
991
 
1029
992
  export { CallStackView, getContext, getContextForContributedActions, getSpecificSourceName };