@codingame/monaco-vscode-debug-service-override 4.4.1 → 4.5.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 (46) hide show
  1. package/debug.js +5 -4
  2. package/package.json +10 -2
  3. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +22 -19
  4. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +8 -7
  5. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +7 -7
  6. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +8 -9
  7. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +14 -11
  8. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +13 -12
  9. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +4 -3
  10. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +7 -6
  11. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +12 -10
  12. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +7 -6
  13. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +4 -3
  14. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +4 -4
  15. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +20 -20
  16. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +13 -12
  17. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +5 -4
  18. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +3 -3
  19. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +8 -8
  20. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +3 -3
  21. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +17 -13
  22. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +18 -16
  23. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +11 -10
  24. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +8 -7
  26. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +7 -7
  27. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +16 -14
  28. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +7 -6
  29. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +23 -19
  30. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +7 -7
  31. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +5 -5
  32. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +26 -22
  33. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +16 -13
  34. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +14 -11
  35. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +2 -1
  36. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +2 -1
  37. package/vscode/src/vs/workbench/contrib/debug/common/debugContext.js +16 -0
  38. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +4 -5
  39. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +4 -4
  40. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +1 -1
  41. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +212 -0
  42. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +7 -5
  43. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +4 -4
  44. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +3 -3
  45. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +9 -9
  46. package/override/vs/platform/dialogs/common/dialogs.js +0 -10
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { append, $ as $$1 } from 'vscode/vscode/vs/base/browser/dom';
2
+ import { $ as $$1, append } from 'vscode/vscode/vs/base/browser/dom';
3
3
  import { HighlightedLabel } from 'vscode/vscode/vs/base/browser/ui/highlightedlabel/highlightedLabel';
4
4
  import { Action } from 'vscode/vscode/vs/base/common/actions';
5
5
  import { coalesce } from 'vscode/vscode/vs/base/common/arrays';
@@ -7,34 +7,38 @@ import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
7
7
  import { CancellationTokenSource } from 'vscode/vscode/vs/base/common/cancellation';
8
8
  import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
9
9
  import { createMatches } from 'vscode/vscode/vs/base/common/filters';
10
- import { toDisposable, DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
10
+ import { DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
11
11
  import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
12
12
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
13
13
  import { createAndFillInContextMenuActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
14
- import { IMenuService, MenuId, registerAction2 } from 'vscode/vscode/vs/platform/actions/common/actions';
15
- import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/clipboardService';
14
+ import { MenuId, registerAction2 } from 'vscode/vscode/vs/platform/actions/common/actions';
15
+ import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
16
+ import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/clipboardService.service';
16
17
  import { CommandsRegistry } from 'vscode/vscode/vs/platform/commands/common/commands';
17
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
18
- import { IContextKeyService, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
19
- import { IContextMenuService, IContextViewService } from 'vscode/vscode/vs/platform/contextview/browser/contextView';
18
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
19
+ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
20
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
21
+ import { IContextMenuService, IContextViewService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
20
22
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
21
- import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding';
23
+ import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
22
24
  import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
23
- import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
24
- import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener';
25
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
26
- import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService';
27
- import { ViewAction, ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
28
- import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
29
- import { AbstractExpressionsRenderer, renderExpressionValue, renderVariable, renderViewTree, AbstractExpressionDataSource } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
25
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
26
+ import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
27
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
28
+ import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
29
+ import { ViewPane, ViewAction } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
30
+ import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
31
+ import { renderViewTree, AbstractExpressionDataSource, AbstractExpressionsRenderer, renderExpressionValue, renderVariable } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
30
32
  import { LinkDetector } from './linkDetector.js';
31
- import { IDebugService, VARIABLES_VIEW_ID, CONTEXT_VARIABLES_FOCUSED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
32
- import { getContextForVariable } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugContext';
33
- import { VisualizedExpression, Variable, getUriForDebugMemory, Expression, ErrorScope, Scope, StackFrame } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
34
- import { IDebugVisualizerService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugVisualizers';
35
- import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
36
- import { IEditorService, SIDE_GROUP } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
37
- import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
33
+ import { CONTEXT_VARIABLES_FOCUSED, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, VARIABLES_VIEW_ID } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
34
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
35
+ import { getContextForVariable } from '../common/debugContext.js';
36
+ import { Variable, VisualizedExpression, Expression, StackFrame, ErrorScope, Scope, getUriForDebugMemory } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
37
+ import { IDebugVisualizerService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugVisualizers.service';
38
+ import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions.service';
39
+ import { SIDE_GROUP } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
40
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
41
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
38
42
 
39
43
  var VisualizedVariableRenderer_1, VariablesRenderer_1;
40
44
  const $ = $$1;
@@ -4,24 +4,27 @@ import { RunOnceScheduler } from 'vscode/vscode/vs/base/common/async';
4
4
  import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
5
5
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
6
6
  import { createAndFillInContextMenuActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
7
- import { IMenuService, MenuId, registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
8
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
9
- import { IContextKeyService, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
10
- import { IContextMenuService, IContextViewService } from 'vscode/vscode/vs/platform/contextview/browser/contextView';
7
+ import { MenuId, registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
8
+ import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
9
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
10
+ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
11
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
12
+ import { IContextMenuService, IContextViewService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
11
13
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
12
- import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding';
14
+ import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
13
15
  import { WorkbenchAsyncDataTree } from 'vscode/vscode/vs/platform/list/browser/listService';
14
- import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener';
15
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
16
- import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService';
17
- import { ViewAction, ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
18
- import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views';
19
- import { AbstractExpressionsRenderer, renderExpressionValue, renderViewTree, AbstractExpressionDataSource } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
16
+ import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
17
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
18
+ import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
19
+ import { ViewPane, ViewAction } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
20
+ import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
21
+ import { renderViewTree, AbstractExpressionDataSource, AbstractExpressionsRenderer, renderExpressionValue } from 'vscode/vscode/vs/workbench/contrib/debug/browser/baseDebugView';
20
22
  import { watchExpressionsAdd, watchExpressionsRemoveAll } from 'vscode/vscode/vs/workbench/contrib/debug/browser/debugIcons';
21
23
  import { LinkDetector } from './linkDetector.js';
22
24
  import { VariablesRenderer, VisualizedVariableRenderer } from './variablesView.js';
23
- import { IDebugService, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_WATCH_ITEM_TYPE, WATCH_VIEW_ID, CONTEXT_WATCH_EXPRESSIONS_EXIST, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_WATCH_EXPRESSIONS_FOCUSED } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
24
- import { Variable, Expression, VisualizedExpression } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
25
+ import { CONTEXT_WATCH_EXPRESSIONS_EXIST, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_WATCH_ITEM_TYPE, CONTEXT_WATCH_EXPRESSIONS_FOCUSED, CONTEXT_CAN_VIEW_MEMORY, WATCH_VIEW_ID } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
26
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
27
+ import { Expression, Variable, VisualizedExpression } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
25
28
 
26
29
  var WatchExpressionsRenderer_1;
27
30
  const MAX_VALUE_RENDER_LENGTH_IN_VIEWLET = 1024;
@@ -1,23 +1,26 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService';
3
- import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding';
4
- import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView';
5
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
6
- import { RawContextKey, IContextKeyService, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
2
+ import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
3
+ import { IKeybindingService } from 'vscode/vscode/vs/platform/keybinding/common/keybinding.service';
4
+ import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
5
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
6
+ import { RawContextKey, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
7
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
7
8
  import { localize2WithPath, localizeWithPath } from 'vscode/vscode/vs/nls';
8
- import { IDebugService, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_EXTENSION_AVAILABLE } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
9
- import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
9
+ import { CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_EXTENSION_AVAILABLE } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
10
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
11
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
10
12
  import { ViewPane } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPane';
11
13
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
12
- import { IViewDescriptorService, Extensions, ViewContentGroups } from 'vscode/vscode/vs/workbench/common/views';
14
+ import { Extensions, ViewContentGroups } from 'vscode/vscode/vs/workbench/common/views';
15
+ import { IViewDescriptorService } from 'vscode/vscode/vs/workbench/common/views.service';
13
16
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
14
- import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener';
17
+ import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
15
18
  import { WorkbenchStateContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
16
19
  import { OpenFileFolderAction, OpenFileAction, OpenFolderAction } from 'vscode/vscode/vs/workbench/browser/actions/workspaceActions';
17
20
  import { isMacintosh, isWeb } from 'vscode/vscode/vs/base/common/platform';
18
21
  import { isDiffEditor, isCodeEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
19
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
20
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
22
+ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
23
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
21
24
  import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
22
25
  import { DEBUG_START_COMMAND_ID, SELECT_AND_START_ID, DEBUG_CONFIGURE_COMMAND_ID } from './debugCommands.js';
23
26
 
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { IContextKeyService, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
2
+ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
3
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
3
4
 
4
5
  let Breakpoints = class Breakpoints {
5
6
  constructor(breakpointContribution, contextKeyService) {
@@ -4,7 +4,8 @@ import { getMimeTypes } from 'vscode/vscode/vs/editor/common/services/languagesA
4
4
  import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
5
5
  import { ILanguageService } from 'vscode/vscode/vs/editor/common/languages/language';
6
6
  import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
7
- import { IDebugService, DEBUG_SCHEME } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
7
+ import { DEBUG_SCHEME } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
8
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
8
9
  import { Source } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugSource';
9
10
  import { IEditorWorkerService } from 'vscode/vscode/vs/editor/common/services/editorWorker';
10
11
  import { EditOperation } from 'vscode/vscode/vs/editor/common/core/editOperation';
@@ -0,0 +1,16 @@
1
+ import { CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_DEBUG_TYPE } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
2
+
3
+ function getContextForVariable(parentContext, variable, additionalContext = []) {
4
+ const session = variable.getSession();
5
+ const contextKeys = [
6
+ [CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT.key, variable.variableMenuContext || ''],
7
+ [CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT.key, !!variable.evaluateName],
8
+ [CONTEXT_CAN_VIEW_MEMORY.key, !!session?.capabilities.supportsReadMemoryRequest && variable.memoryReference !== undefined],
9
+ [CONTEXT_VARIABLE_IS_READONLY.key, !!variable.presentationHint?.attributes?.includes('readOnly') || variable.presentationHint?.lazy],
10
+ [CONTEXT_DEBUG_TYPE.key, session?.configuration.type],
11
+ ...additionalContext,
12
+ ];
13
+ return parentContext.createOverlay(contextKeys);
14
+ }
15
+
16
+ export { getContextForVariable };
@@ -1,10 +1,9 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
3
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
4
- import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
5
- import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
6
- import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
7
- import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
3
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
4
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
5
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
6
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
8
7
 
9
8
  let DebugLifecycle = class DebugLifecycle {
10
9
  constructor(lifecycleService, debugService, configurationService, dialogService) {
@@ -6,11 +6,11 @@ import 'vscode/vscode/vs/base/common/observableInternal/autorun';
6
6
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
7
7
  import 'vscode/vscode/vs/base/common/cancellation';
8
8
  import { URI } from 'vscode/vscode/vs/base/common/uri';
9
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
10
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
11
- import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
9
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
10
+ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
11
+ import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
12
12
  import { Breakpoint, FunctionBreakpoint, ExceptionBreakpoint, DataBreakpoint, Expression } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
13
- import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles';
13
+ import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles.service';
14
14
 
15
15
  const DEBUG_BREAKPOINTS_KEY = 'debug.breakpoint';
16
16
  const DEBUG_FUNCTION_BREAKPOINTS_KEY = 'debug.functionbreakpoint';
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
2
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
3
3
 
4
4
  let DebugTelemetry = class DebugTelemetry {
5
5
  constructor(model, telemetryService) {
@@ -0,0 +1,212 @@
1
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
+ import { toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { isDefined } from 'vscode/vscode/vs/base/common/types';
4
+ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
5
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
6
+ import { ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
7
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
8
+ import { CONTEXT_VARIABLE_NAME, CONTEXT_VARIABLE_VALUE, CONTEXT_VARIABLE_TYPE } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
9
+ import { getContextForVariable } from './debugContext.js';
10
+ import { Variable, VisualizedExpression, Scope } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugModel';
11
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
12
+ import { ExtensionsRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
13
+
14
+ class DebugVisualizer {
15
+ get name() {
16
+ return this.viz.name;
17
+ }
18
+ get iconPath() {
19
+ return this.viz.iconPath;
20
+ }
21
+ get iconClass() {
22
+ return this.viz.iconClass;
23
+ }
24
+ constructor(handle, viz) {
25
+ this.handle = handle;
26
+ this.viz = viz;
27
+ }
28
+ async resolve(token) {
29
+ return this.viz.visualization ??= await this.handle.resolveDebugVisualizer(this.viz, token);
30
+ }
31
+ async execute() {
32
+ await this.handle.executeDebugVisualizerCommand(this.viz.id);
33
+ }
34
+ }
35
+ const emptyRef = { object: [], dispose: () => { } };
36
+ let DebugVisualizerService = class DebugVisualizerService {
37
+ constructor(contextKeyService, extensionService, logService) {
38
+ this.contextKeyService = contextKeyService;
39
+ this.extensionService = extensionService;
40
+ this.logService = logService;
41
+ this.handles = ( new Map());
42
+ this.trees = ( new Map());
43
+ this.didActivate = ( new Map());
44
+ this.registrations = [];
45
+ visualizersExtensionPoint.setHandler((_, { added, removed }) => {
46
+ this.registrations = this.registrations.filter(r => !( removed.some(e => ExtensionIdentifier.equals(e.description.identifier, r.extensionId))));
47
+ added.forEach(e => this.processExtensionRegistration(e.description));
48
+ });
49
+ }
50
+ async getApplicableFor(variable, token) {
51
+ if (!(variable instanceof Variable)) {
52
+ return emptyRef;
53
+ }
54
+ const threadId = variable.getThreadId();
55
+ if (threadId === undefined) {
56
+ return emptyRef;
57
+ }
58
+ const context = this.getVariableContext(threadId, variable);
59
+ const overlay = getContextForVariable(this.contextKeyService, variable, [
60
+ [CONTEXT_VARIABLE_NAME.key, variable.name],
61
+ [CONTEXT_VARIABLE_VALUE.key, variable.value],
62
+ [CONTEXT_VARIABLE_TYPE.key, variable.type],
63
+ ]);
64
+ const maybeVisualizers = await Promise.all(( this.registrations.map(async (registration) => {
65
+ if (!overlay.contextMatchesRules(registration.expr)) {
66
+ return;
67
+ }
68
+ let prom = this.didActivate.get(registration.id);
69
+ if (!prom) {
70
+ prom = this.extensionService.activateByEvent(`onDebugVisualizer:${registration.id}`);
71
+ this.didActivate.set(registration.id, prom);
72
+ }
73
+ await prom;
74
+ if (token.isCancellationRequested) {
75
+ return;
76
+ }
77
+ const handle = this.handles.get(toKey(registration.extensionId, registration.id));
78
+ return handle && { handle, result: await handle.provideDebugVisualizers(context, token) };
79
+ })));
80
+ const ref = {
81
+ object: maybeVisualizers.filter(isDefined).flatMap(v => ( v.result.map(r => ( new DebugVisualizer(v.handle, r))))),
82
+ dispose: () => {
83
+ for (const viz of maybeVisualizers) {
84
+ viz?.handle.disposeDebugVisualizers(( viz.result.map(r => r.id)));
85
+ }
86
+ },
87
+ };
88
+ if (token.isCancellationRequested) {
89
+ ref.dispose();
90
+ }
91
+ return ref;
92
+ }
93
+ register(handle) {
94
+ const key = toKey(handle.extensionId, handle.id);
95
+ this.handles.set(key, handle);
96
+ return toDisposable(() => this.handles.delete(key));
97
+ }
98
+ registerTree(treeId, handle) {
99
+ this.trees.set(treeId, handle);
100
+ return toDisposable(() => this.trees.delete(treeId));
101
+ }
102
+ async getVisualizedNodeFor(treeId, expr) {
103
+ if (!(expr instanceof Variable)) {
104
+ return;
105
+ }
106
+ const threadId = expr.getThreadId();
107
+ if (threadId === undefined) {
108
+ return;
109
+ }
110
+ const tree = this.trees.get(treeId);
111
+ if (!tree) {
112
+ return;
113
+ }
114
+ try {
115
+ const treeItem = await tree.getTreeItem(this.getVariableContext(threadId, expr));
116
+ if (!treeItem) {
117
+ return;
118
+ }
119
+ return ( new VisualizedExpression(this, treeId, treeItem, expr));
120
+ }
121
+ catch (e) {
122
+ this.logService.warn('Failed to get visualized node', e);
123
+ return;
124
+ }
125
+ }
126
+ async getVisualizedChildren(treeId, treeElementId) {
127
+ const children = (await this.trees.get(treeId)?.getChildren(treeElementId)) || [];
128
+ return ( children.map(c => ( new VisualizedExpression(this, treeId, c, undefined))));
129
+ }
130
+ async editTreeItem(treeId, treeItem, newValue) {
131
+ const newItem = await this.trees.get(treeId)?.editItem?.(treeItem.id, newValue);
132
+ if (newItem) {
133
+ Object.assign(treeItem, newItem);
134
+ }
135
+ }
136
+ getVariableContext(threadId, variable) {
137
+ const context = {
138
+ sessionId: variable.getSession()?.getId() || '',
139
+ containerId: (variable.parent instanceof Variable ? variable.reference : undefined),
140
+ threadId,
141
+ variable: {
142
+ name: variable.name,
143
+ value: variable.value,
144
+ type: variable.type,
145
+ evaluateName: variable.evaluateName,
146
+ variablesReference: variable.reference || 0,
147
+ indexedVariables: variable.indexedVariables,
148
+ memoryReference: variable.memoryReference,
149
+ namedVariables: variable.namedVariables,
150
+ presentationHint: variable.presentationHint,
151
+ }
152
+ };
153
+ for (let p = variable; p instanceof Variable; p = p.parent) {
154
+ if (p.parent instanceof Scope) {
155
+ context.frameId = p.parent.stackFrame.frameId;
156
+ }
157
+ }
158
+ return context;
159
+ }
160
+ processExtensionRegistration(ext) {
161
+ const viz = ext.contributes?.debugVisualizers;
162
+ if (!(viz instanceof Array)) {
163
+ return;
164
+ }
165
+ for (const { when, id } of viz) {
166
+ try {
167
+ const expr = ContextKeyExpr.deserialize(when);
168
+ if (expr) {
169
+ this.registrations.push({ expr, id, extensionId: ext.identifier });
170
+ }
171
+ }
172
+ catch (e) {
173
+ this.logService.error(`Error processing debug visualizer registration from extension '${ext.identifier.value}'`, e);
174
+ }
175
+ }
176
+ }
177
+ };
178
+ DebugVisualizerService = ( __decorate([
179
+ ( __param(0, IContextKeyService)),
180
+ ( __param(1, IExtensionService)),
181
+ ( __param(2, ILogService))
182
+ ], DebugVisualizerService));
183
+ const toKey = (extensionId, id) => `${ExtensionIdentifier.toKey(extensionId)}\0${id}`;
184
+ const visualizersExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
185
+ extensionPoint: 'debugVisualizers',
186
+ jsonSchema: {
187
+ type: 'array',
188
+ items: {
189
+ type: 'object',
190
+ properties: {
191
+ id: {
192
+ type: 'string',
193
+ description: 'Name of the debug visualizer'
194
+ },
195
+ when: {
196
+ type: 'string',
197
+ description: 'Condition when the debug visualizer is applicable'
198
+ }
199
+ },
200
+ required: ['id', 'when']
201
+ }
202
+ },
203
+ activationEventsGenerator: (contribs, result) => {
204
+ for (const contrib of contribs) {
205
+ if (contrib.id) {
206
+ result.push(`onDebugVisualizer:${contrib.id}`);
207
+ }
208
+ }
209
+ }
210
+ });
211
+
212
+ export { DebugVisualizer, DebugVisualizerService };
@@ -1,17 +1,19 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
3
3
  import { isObject } from 'vscode/vscode/vs/base/common/types';
4
- import { IDebugService, DebugConfigurationProviderTriggerKind, debuggerDisabledMessage } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
5
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
6
- import { IConfigurationResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolver';
4
+ import { DebugConfigurationProviderTriggerKind, debuggerDisabledMessage } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
5
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
6
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
7
+ import { IConfigurationResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.service';
7
8
  import { applyDeprecatedVariableMessage } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolverUtils';
8
9
  import { ITextResourcePropertiesService } from 'vscode/vscode/vs/editor/common/services/textResourceConfiguration';
9
10
  import { URI } from 'vscode/vscode/vs/base/common/uri';
10
11
  import { Schemas } from 'vscode/vscode/vs/base/common/network';
11
12
  import { isDebuggerMainContribution } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugUtils';
12
13
  import { cleanRemoteAuthority } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
13
- import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
14
- import { IContextKeyService, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
14
+ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
15
+ import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
16
+ import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
15
17
  import { filter } from 'vscode/vscode/vs/base/common/objects';
16
18
 
17
19
  let Debugger = class Debugger {
@@ -1,14 +1,14 @@
1
1
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
2
2
  import { matchesFuzzy } from 'vscode/vscode/vs/base/common/filters';
3
- import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
4
- import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
5
- import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
3
+ import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
4
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug.service';
5
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
6
6
  import { getIconClasses } from 'vscode/vscode/vs/editor/common/services/getIconClasses';
7
7
  import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
8
8
  import { ILanguageService } from 'vscode/vscode/vs/editor/common/languages/language';
9
9
  import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle';
10
10
  import { dirname } from 'vscode/vscode/vs/base/common/resources';
11
- import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
11
+ import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
12
12
 
13
13
  async function showLoadedScriptMenu(accessor) {
14
14
  const quickInputService = accessor.get(IQuickInputService);
@@ -2,9 +2,9 @@ import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
2
2
  import { URI } from 'vscode/vscode/vs/base/common/uri';
3
3
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
4
4
  import { registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
5
- import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/clipboardService';
6
- import { INotebookKernelService } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookKernelService';
7
- import { INotebookService } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookService';
5
+ import { IClipboardService } from 'vscode/vscode/vs/platform/clipboard/common/clipboardService.service';
6
+ import { INotebookKernelService } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookKernelService.service';
7
+ import { INotebookService } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookService.service';
8
8
 
9
9
  const COPY_NOTEBOOK_VARIABLE_VALUE_ID = 'workbench.debug.viewlet.action.copyWorkspaceVariableValue';
10
10
  const COPY_NOTEBOOK_VARIABLE_VALUE_LABEL = ( localizeWithPath(
@@ -1,14 +1,14 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
- import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands';
3
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
4
- import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
5
- import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
6
- import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
2
+ import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
3
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
4
+ import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
5
+ import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
6
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
7
7
  import { BaseConfigurationResolverService } from './baseConfigurationResolverService.js';
8
- import 'vscode/vscode/vs/workbench/services/configurationResolver/common/configurationResolver';
9
- import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
10
- import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
11
- import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService';
8
+ import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
9
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
10
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
11
+ import { IPathService } from 'vscode/vscode/vs/workbench/services/path/common/pathService.service';
12
12
 
13
13
  let ConfigurationResolverService = class ConfigurationResolverService extends BaseConfigurationResolverService {
14
14
  constructor(editorService, configurationService, commandService, workspaceContextService, quickInputService, labelService, pathService, extensionService) {
@@ -1,10 +0,0 @@
1
- export { AbstractDialogHandler, IDialogService, IFileDialogService, getFileNamesMessage } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
2
-
3
- var ConfirmResult;
4
- ( (function(ConfirmResult) {
5
- ConfirmResult[ConfirmResult["SAVE"] = 0] = "SAVE";
6
- ConfirmResult[ConfirmResult["DONT_SAVE"] = 1] = "DONT_SAVE";
7
- ConfirmResult[ConfirmResult["CANCEL"] = 2] = "CANCEL";
8
- })(ConfirmResult || (ConfirmResult = {})));
9
-
10
- export { ConfirmResult };