@codingame/monaco-vscode-debug-service-override 20.1.1 → 20.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-debug-service-override",
3
- "version": "20.1.1",
3
+ "version": "20.2.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - debug service-override",
6
6
  "keywords": [],
@@ -15,21 +15,21 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-262ed59d-4f76-57cd-9e9f-1877f26ae049-common": "20.1.1",
19
- "@codingame/monaco-vscode-34a0ffd3-b9f5-5699-b43b-38af5732f38a-common": "20.1.1",
20
- "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "20.1.1",
21
- "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.1.1",
22
- "@codingame/monaco-vscode-88aa9a78-75f5-5aaa-89e9-bbdd580b3b5c-common": "20.1.1",
23
- "@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common": "20.1.1",
24
- "@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "20.1.1",
25
- "@codingame/monaco-vscode-ab07af84-42e8-5a0f-8aef-b83fb90ede21-common": "20.1.1",
26
- "@codingame/monaco-vscode-api": "20.1.1",
27
- "@codingame/monaco-vscode-b99aef83-0d60-5e8c-a62e-9908b6256f35-common": "20.1.1",
28
- "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "20.1.1",
29
- "@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "20.1.1",
30
- "@codingame/monaco-vscode-e59ecb8c-db32-5324-8fe4-cf9921fd92b8-common": "20.1.1",
31
- "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "20.1.1",
32
- "@codingame/monaco-vscode-fc42f049-7883-579d-bb0b-2aa1010a19a8-common": "20.1.1"
18
+ "@codingame/monaco-vscode-262ed59d-4f76-57cd-9e9f-1877f26ae049-common": "20.2.0",
19
+ "@codingame/monaco-vscode-34a0ffd3-b9f5-5699-b43b-38af5732f38a-common": "20.2.0",
20
+ "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "20.2.0",
21
+ "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.2.0",
22
+ "@codingame/monaco-vscode-88aa9a78-75f5-5aaa-89e9-bbdd580b3b5c-common": "20.2.0",
23
+ "@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common": "20.2.0",
24
+ "@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "20.2.0",
25
+ "@codingame/monaco-vscode-ab07af84-42e8-5a0f-8aef-b83fb90ede21-common": "20.2.0",
26
+ "@codingame/monaco-vscode-api": "20.2.0",
27
+ "@codingame/monaco-vscode-b99aef83-0d60-5e8c-a62e-9908b6256f35-common": "20.2.0",
28
+ "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "20.2.0",
29
+ "@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "20.2.0",
30
+ "@codingame/monaco-vscode-e59ecb8c-db32-5324-8fe4-cf9921fd92b8-common": "20.2.0",
31
+ "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "20.2.0",
32
+ "@codingame/monaco-vscode-fc42f049-7883-579d-bb0b-2aa1010a19a8-common": "20.2.0"
33
33
  },
34
34
  "main": "index.js",
35
35
  "module": "index.js",
@@ -44,6 +44,7 @@ export declare class AdapterManager extends Disposable implements IAdapterManage
44
44
  private breakpointContributions;
45
45
  private debuggerWhenKeys;
46
46
  private taskLabels;
47
+ /** Extensions that were already active before any debugger activation events */
47
48
  private earlyActivatedExtensions;
48
49
  private usedDebugTypes;
49
50
  constructor(delegate: IAdapterManagerDelegate, editorService: IEditorService, configurationService: IConfigurationService, quickInputService: IQuickInputService, instantiationService: IInstantiationService, commandService: ICommandService, extensionService: IExtensionService, contextKeyService: IContextKeyService, languageService: ILanguageService, dialogService: IDialogService, lifecycleService: ILifecycleService, tasksService: ITaskService, menuService: IMenuService);
@@ -44,6 +44,9 @@ export declare class ConfigurationManager implements IConfigurationManager {
44
44
  constructor(adapterManager: IAdapterManager, contextService: IWorkspaceContextService, configurationService: IConfigurationService, quickInputService: IQuickInputService, instantiationService: IInstantiationService, storageService: IStorageService, extensionService: IExtensionService, historyService: IHistoryService, uriIdentityService: IUriIdentityService, contextKeyService: IContextKeyService, logService: ILogService);
45
45
  registerDebugConfigurationProvider(debugConfigurationProvider: IDebugConfigurationProvider): IDisposable;
46
46
  unregisterDebugConfigurationProvider(debugConfigurationProvider: IDebugConfigurationProvider): void;
47
+ /**
48
+ * if scope is not specified,a value of DebugConfigurationProvideTrigger.Initial is assumed.
49
+ */
47
50
  hasDebugConfigurationProvider(debugType: string, triggerKind?: DebugConfigurationProviderTriggerKind): boolean;
48
51
  resolveConfigurationByProviders(folderUri: uri | undefined, type: string | undefined, config: IConfig, token: CancellationToken): Promise<IConfig | null | undefined>;
49
52
  resolveDebugConfigurationWithSubstitutedVariables(folderUri: uri | undefined, type: string | undefined, config: IConfig, token: CancellationToken): Promise<IConfig | null | undefined>;
@@ -9,21 +9,35 @@ export declare class DebugMemoryFileSystemProvider extends Disposable implements
9
9
  private memoryFdCounter;
10
10
  private readonly fdMemory;
11
11
  private readonly changeEmitter;
12
+ /** @inheritdoc */
12
13
  readonly onDidChangeCapabilities: Event<any>;
14
+ /** @inheritdoc */
13
15
  readonly onDidChangeFile: Event<readonly IFileChange[]>;
16
+ /** @inheritdoc */
14
17
  readonly capabilities: number;
15
18
  constructor(debugService: IDebugService);
16
19
  watch(resource: URI, opts: IWatchOptions): import("@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle").IDisposable;
20
+ /** @inheritdoc */
17
21
  stat(file: URI): Promise<IStat>;
22
+ /** @inheritdoc */
18
23
  mkdir(): never;
24
+ /** @inheritdoc */
19
25
  readdir(): never;
26
+ /** @inheritdoc */
20
27
  delete(): never;
28
+ /** @inheritdoc */
21
29
  rename(): never;
30
+ /** @inheritdoc */
22
31
  open(resource: URI, _opts: IFileOpenOptions): Promise<number>;
32
+ /** @inheritdoc */
23
33
  close(fd: number): Promise<void>;
34
+ /** @inheritdoc */
24
35
  writeFile(resource: URI, content: Uint8Array): Promise<void>;
36
+ /** @inheritdoc */
25
37
  readFile(resource: URI): Promise<Uint8Array<ArrayBuffer>>;
38
+ /** @inheritdoc */
26
39
  read(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise<number>;
40
+ /** @inheritdoc */
27
41
  write(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise<number>;
28
42
  protected parseUri(uri: URI): {
29
43
  session: IDebugSession;
@@ -98,8 +98,18 @@ export declare class DebugService implements IDebugService {
98
98
  restart: boolean;
99
99
  }>;
100
100
  private lazySetup;
101
+ /**
102
+ * main entry point
103
+ * properly manages compounds, checks for errors and handles the initializing state.
104
+ */
101
105
  startDebugging(launch: ILaunch | undefined, configOrName?: IConfig | string, options?: IDebugSessionOptions, saveBeforeStart?: boolean): Promise<boolean>;
106
+ /**
107
+ * gets the debugger for the type, resolves configurations by providers, substitutes variables and runs prelaunch tasks
108
+ */
102
109
  private createSession;
110
+ /**
111
+ * instantiates the new session, initializes the session, registers session listeners and reports telemetry
112
+ */
103
113
  private doCreateSession;
104
114
  private launchOrAttachToSession;
105
115
  private registerSessionListeners;
@@ -142,6 +152,11 @@ export declare class DebugService implements IDebugService {
142
152
  setExceptionBreakpointsForSession(session: IDebugSession, filters: DebugProtocol.ExceptionBreakpointsFilter[]): void;
143
153
  setExceptionBreakpointCondition(exceptionBreakpoint: IExceptionBreakpoint, condition: string | undefined): Promise<void>;
144
154
  sendAllBreakpoints(session?: IDebugSession): Promise<void>;
155
+ /**
156
+ * Removes the condition of triggered breakpoints that depended on
157
+ * breakpoints in `removedBreakpoints`. Returns the URIs of resources that
158
+ * had their breakpoints changed in this way.
159
+ */
145
160
  private unlinkTriggeredBreakpoints;
146
161
  private makeTriggeredBreakpointsMatchEnablement;
147
162
  sendBreakpoints(modelUri: uri, sourceModified?: boolean, session?: IDebugSession): Promise<void>;
@@ -66,7 +66,9 @@ export declare class DebugSession implements IDebugSession {
66
66
  private repl;
67
67
  private stoppedDetails;
68
68
  private readonly statusQueue;
69
+ /** Test run this debug session was spawned by */
69
70
  readonly correlatedTestRun?: LiveTestResult;
71
+ /** Whether we terminated the correlated run yet. Used so a 2nd terminate request goes through to the underlying session. */
70
72
  private didTerminateTestRun?;
71
73
  private readonly _onDidChangeState;
72
74
  private readonly _onDidEndAdapter;
@@ -79,6 +81,10 @@ export declare class DebugSession implements IDebugSession {
79
81
  private readonly _onDidChangeREPLElements;
80
82
  private _name;
81
83
  private readonly _onDidChangeName;
84
+ /**
85
+ * Promise set while enabling dependent breakpoints to block the debugger
86
+ * from continuing from a stopped state.
87
+ */
82
88
  private _waitToResume?;
83
89
  constructor(id: string, _configuration: {
84
90
  resolved: IConfig;
@@ -117,11 +123,29 @@ export declare class DebugSession implements IDebugSession {
117
123
  get onDidProgressUpdate(): Event<DebugProtocol.ProgressUpdateEvent>;
118
124
  get onDidProgressEnd(): Event<DebugProtocol.ProgressEndEvent>;
119
125
  get onDidInvalidateMemory(): Event<DebugProtocol.MemoryEvent>;
126
+ /**
127
+ * create and initialize a new debug adapter for this session
128
+ */
120
129
  initialize(dbgr: IDebugger): Promise<void>;
130
+ /**
131
+ * launch or attach to the debuggee
132
+ */
121
133
  launchOrAttach(config: IConfig): Promise<void>;
134
+ /**
135
+ * Terminate any linked test run.
136
+ */
122
137
  cancelCorrelatedTestRun(): void;
138
+ /**
139
+ * terminate the current debug adapter session
140
+ */
123
141
  terminate(restart?: boolean): Promise<void>;
142
+ /**
143
+ * end the current debug adapter session
144
+ */
124
145
  disconnect(restart?: boolean, suspend?: boolean): Promise<void>;
146
+ /**
147
+ * restart debug adapter session
148
+ */
125
149
  restart(): Promise<void>;
126
150
  sendBreakpoints(modelUri: URI, breakpointsToSend: IBreakpoint[], sourceModified: boolean): Promise<void>;
127
151
  sendFunctionBreakpoints(fbpts: IFunctionBreakpoint[]): Promise<void>;
@@ -199,9 +223,40 @@ export declare class DebugSession implements IDebugSession {
199
223
  addReplExpression(stackFrame: IStackFrame | undefined, expression: string): Promise<void>;
200
224
  appendToRepl(data: INewReplElementData, isImportant?: boolean): void;
201
225
  }
226
+ /**
227
+ * Keeps track of events for threads, and cancels any previous operations for
228
+ * a thread when the thread goes into a new state. Currently, the operations a thread has are:
229
+ *
230
+ * - started
231
+ * - stopped
232
+ * - continue
233
+ * - exited
234
+ *
235
+ * In each case, the new state preempts the old state, so we don't need to
236
+ * queue work, just cancel old work. It's up to the caller to make sure that
237
+ * no UI effects happen at the point when the `token` is cancelled.
238
+ */
202
239
  export declare class ThreadStatusScheduler extends Disposable {
240
+ /**
241
+ * An array of set of thread IDs. When a 'stopped' event is encountered, the
242
+ * editor refreshes its thread IDs. In the meantime, the thread may change
243
+ * state it again. So the editor puts a Set into this array when it starts
244
+ * the refresh, and checks it after the refresh is finished, to see if
245
+ * any of the threads it looked up should now be invalidated.
246
+ */
203
247
  private pendingCancellations;
248
+ /**
249
+ * Cancellation tokens for currently-running operations on threads.
250
+ */
204
251
  private readonly threadOps;
252
+ /**
253
+ * Runs the operation.
254
+ * If thread is undefined it affects all threads.
255
+ */
205
256
  run(threadIdsP: Promise<number[]>, operation: (threadId: number, ct: CancellationToken) => Promise<unknown>): Promise<void>;
257
+ /**
258
+ * Cancels all ongoing state operations on the given threads.
259
+ * If threads is undefined it cancel all threads.
260
+ */
206
261
  cancel(threadIds?: readonly number[]): void;
207
262
  }
@@ -32,15 +32,25 @@ export declare class DebugToolBar extends Themable implements IWorkbenchContribu
32
32
  private isVisible;
33
33
  private isBuilt;
34
34
  private readonly stopActionViewItemDisposables;
35
+ /** coordinate of the debug toolbar per aux window */
35
36
  private readonly auxWindowCoordinates;
36
37
  private readonly trackPixelRatioListener;
37
38
  constructor(notificationService: INotificationService, telemetryService: ITelemetryService, debugService: IDebugService, layoutService: IWorkbenchLayoutService, storageService: IStorageService, configurationService: IConfigurationService, themeService: IThemeService, instantiationService: IInstantiationService, menuService: IMenuService, contextKeyService: IContextKeyService);
38
39
  private registerListeners;
40
+ /**
41
+ * Computes the x percent position at which the toolbar is currently displayed.
42
+ */
39
43
  private computeCurrentXPercent;
44
+ /**
45
+ * Gets the x position set in the style of the toolbar. This may not be its
46
+ * actual position on screen depending on toolbar locations.
47
+ */
40
48
  private getCurrentXPercent;
49
+ /** Gets the y position set in the style of the toolbar */
41
50
  private getCurrentYPosition;
42
51
  private storePosition;
43
52
  updateStyles(): void;
53
+ /** Gets the stored X position of the middle of the toolbar based on the current window width */
44
54
  private getStoredXPosition;
45
55
  private getStoredYPosition;
46
56
  private setCoordinates;
@@ -18,11 +18,17 @@ export interface IDisassembledInstructionEntry {
18
18
  allowBreakpoint: boolean;
19
19
  isBreakpointSet: boolean;
20
20
  isBreakpointEnabled: boolean;
21
+ /** Instruction reference from the DA */
21
22
  instructionReference: string;
23
+ /** Offset from the instructionReference that's the basis for the `instructionOffset` */
22
24
  instructionReferenceOffset: number;
25
+ /** The number of instructions (+/-) away from the instructionReference and instructionReferenceOffset this instruction lies */
23
26
  instructionOffset: number;
27
+ /** Whether this is the first instruction on the target line. */
24
28
  showSourceLocation?: boolean;
29
+ /** Original instruction from the debugger */
25
30
  instruction: DebugProtocol.DisassembledInstruction;
31
+ /** Parsed instruction address */
26
32
  address: bigint;
27
33
  }
28
34
  export declare class DisassemblyView extends EditorPane {
@@ -64,14 +70,28 @@ export declare class DisassemblyView extends EditorPane {
64
70
  protected createEditor(parent: HTMLElement): void;
65
71
  layout(dimension: Dimension): void;
66
72
  goToInstructionAndOffset(instructionReference: string, offset: number, focus?: boolean): Promise<void>;
73
+ /** Gets the address associated with the instruction reference. */
67
74
  getReferenceAddress(instructionReference: string): bigint | undefined;
75
+ /**
76
+ * Go to the address provided. If no address is provided, reveal the address of the currently focused stack frame. Returns false if that address is not available.
77
+ */
68
78
  private goToAddress;
69
79
  private scrollUp_LoadDisassembledInstructions;
70
80
  private scrollDown_LoadDisassembledInstructions;
81
+ /**
82
+ * Sets the memory reference address. We don't just loadDisassembledInstructions
83
+ * for this, since we can't really deal with discontiguous ranges (we can't
84
+ * detect _if_ a range is discontiguous since we don't know how much memory
85
+ * comes between instructions.)
86
+ */
71
87
  private primeMemoryReference;
88
+ /** Loads disasembled instructions. Returns the number of instructions that were loaded. */
72
89
  private loadDisassembledInstructions;
73
90
  private getIndexFromReferenceAndOffset;
74
91
  private getIndexFromAddress;
92
+ /**
93
+ * Clears the table and reload instructions near the target address
94
+ */
75
95
  private reloadDisassembly;
76
96
  private clear;
77
97
  private onContextMenu;
@@ -1,25 +1,37 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
1
6
  .codicon-debug-hint {
2
7
  cursor: pointer;
3
8
  }
9
+
4
10
  .codicon-debug-hint:not([class*='codicon-debug-breakpoint']):not([class*='codicon-debug-stackframe']) {
5
11
  opacity: 0.4 !important;
6
12
  }
13
+
7
14
  .inline-breakpoint-widget.codicon {
8
15
  display: flex !important;
9
16
  align-items: center;
10
17
  }
18
+
11
19
  .inline-breakpoint-widget.codicon-debug-breakpoint-disabled {
12
20
  opacity: 0.7;
13
21
  }
22
+
14
23
  .monaco-editor .inline-breakpoint-widget.line-start {
15
24
  left: -8px !important;
16
25
  }
26
+
17
27
  .monaco-editor .debug-breakpoint-placeholder {
18
28
  width: 0.9em;
19
29
  display: inline-flex;
20
30
  vertical-align: middle;
21
31
  margin-top: -1px;
22
32
  }
33
+
34
+
23
35
  .codicon-debug-breakpoint-conditional.codicon-debug-stackframe-focused::after,
24
36
  .codicon-debug-breakpoint-conditional.codicon-debug-stackframe::after,
25
37
  .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
@@ -28,6 +40,7 @@
28
40
  font-family: var(--vscode-icon-debug-stackframe-dot-font-family);
29
41
  position: absolute;
30
42
  }
43
+
31
44
  .monaco-editor .debug-top-stack-frame-column {
32
45
  font: normal normal normal 16px/1 codicon;
33
46
  text-rendering: auto;
@@ -35,34 +48,45 @@
35
48
  -moz-osx-font-smoothing: grayscale;
36
49
  margin-left: 0;
37
50
  margin-right: 4px;
38
- margin-top: -1px;
51
+ margin-top: -1px; /* TODO @misolori: figure out a way to not use negative margin for alignment */
39
52
  align-items: center;
40
53
  width: 0.9em;
41
54
  display: inline-flex;
42
55
  vertical-align: middle;
43
56
  }
57
+
44
58
  .debug-var-hover-pre {
45
59
  margin: 0;
46
60
  }
61
+
47
62
  .debug-var-hover-pre span {
48
63
  display: inline !important;
49
64
  }
65
+
66
+ /* Do not push text with inline decoration when decoration on start of line */
50
67
  .monaco-editor .debug-top-stack-frame-column.start-of-line {
51
68
  position: absolute;
52
69
  top: 50%;
53
70
  transform: translate(-17px, -50%);
54
- margin-top: 0px;
71
+ margin-top: 0px; /* TODO @misolori: figure out a way to not use negative margin for alignment */
55
72
  }
73
+
56
74
  .monaco-editor .inline-breakpoint-widget {
57
75
  cursor: pointer;
58
76
  }
77
+
59
78
  .monaco-workbench .debug-view-content .monaco-list-row .monaco-tl-contents {
60
79
  overflow: hidden;
61
80
  text-overflow: ellipsis;
62
81
  }
82
+
83
+ /* Expressions */
84
+
85
+
63
86
  .monaco-workbench .monaco-list-row .expression {
64
87
  display: flex;
65
88
  }
89
+
66
90
  .monaco-workbench .debug-pane .monaco-list-row .expression,
67
91
  .monaco-workbench .debug-hover-widget .monaco-list-row .expression {
68
92
  font-size: 13px;
@@ -71,41 +95,55 @@
71
95
  font-family: var(--monaco-monospace-font);
72
96
  white-space: pre;
73
97
  }
98
+
74
99
  .monaco-workbench.mac .debug-pane .monaco-list-row .expression,
75
100
  .monaco-workbench.mac .debug-hover-widget .monaco-list-row .expression {
76
101
  font-size: 11px;
77
102
  }
103
+
78
104
  .monaco-workbench .monaco-list-row .expression .value {
79
105
  margin-left: 6px;
80
106
  }
107
+
81
108
  .monaco-workbench .monaco-list-row .expression .lazy-button {
82
109
  margin-left: 3px;
83
110
  display: none;
84
111
  border-radius: 5px;
85
112
  align-self: center;
86
113
  }
114
+
87
115
  .monaco-workbench .monaco-list-row .expression.lazy .lazy-button {
88
116
  display: inline;
89
117
  }
118
+
119
+ /* Links */
120
+
90
121
  .monaco-workbench .monaco-list-row .expression .value a.link:hover {
91
122
  text-decoration: underline;
92
123
  }
124
+
93
125
  .monaco-workbench .monaco-list-row .expression .value a.link.pointer {
94
126
  cursor: pointer;
95
127
  }
128
+
129
+ /* White color when element is selected and list is focused. White looks better on blue selection background. */
96
130
  .monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .name,
97
131
  .monaco-workbench .monaco-list:focus .monaco-list-row.selected .expression .value {
98
132
  color: inherit;
99
133
  }
134
+
100
135
  .monaco-workbench .monaco-list-row .expression .name.virtual {
101
136
  opacity: 0.5;
102
137
  }
138
+
103
139
  .monaco-workbench .monaco-list-row .expression .name.internal {
104
140
  opacity: 0.5;
105
141
  }
142
+
106
143
  .monaco-workbench .monaco-list-row .expression .unavailable {
107
144
  font-style: italic;
108
145
  }
146
+
109
147
  .monaco-workbench .debug-inline-value {
110
148
  background-color: var(--vscode-editor-inlineValuesBackground);
111
149
  color: var(--vscode-editor-inlineValuesForeground);
@@ -1,3 +1,8 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
1
6
  .monaco-editor .debug-hover-widget {
2
7
  position: absolute;
3
8
  z-index: 50;
@@ -8,9 +13,11 @@
8
13
  word-break: break-all;
9
14
  white-space: pre;
10
15
  }
16
+
11
17
  .monaco-editor .debug-hover-widget .complex-value {
12
18
  max-width: 550px;
13
19
  }
20
+
14
21
  .monaco-editor .debug-hover-widget .complex-value .title,
15
22
  .monaco-editor .debug-hover-widget .complex-value .tip {
16
23
  padding-left: 15px;
@@ -23,32 +30,41 @@
23
30
  overflow: hidden;
24
31
  white-space: pre;
25
32
  }
33
+
26
34
  .monaco-editor .debug-hover-widget .complex-value .title {
27
35
  border-bottom: 1px solid rgba(128, 128, 128, 0.35);
28
36
  }
37
+
29
38
  .monaco-editor .debug-hover-widget .complex-value .tip {
30
39
  border-top: 1px solid rgba(128, 128, 128, 0.35);
31
40
  opacity: 0.5;
32
41
  }
42
+
33
43
  .monaco-editor .debug-hover-widget .debug-hover-tree {
34
44
  line-height: 18px;
35
45
  cursor: pointer;
36
46
  }
47
+
37
48
  .monaco-editor .debug-hover-widget .debug-hover-tree .monaco-list-row .monaco-tl-contents {
38
49
  user-select: text;
39
50
  -webkit-user-select: text;
40
51
  white-space: pre;
41
52
  }
53
+
54
+ /* Disable tree highlight in debug hover tree. */
42
55
  .monaco-editor .debug-hover-widget .debug-hover-tree .monaco-list-rows .monaco-list-row:hover:not(.highlighted):not(.selected):not(.focused) {
43
56
  background-color: inherit;
44
57
  }
58
+
45
59
  .monaco-editor .debug-hover-widget pre {
46
60
  margin-top: 0;
47
61
  margin-bottom: 0;
48
62
  }
63
+
49
64
  .monaco-editor .debugHoverHighlight {
50
65
  background-color: rgba(173, 214, 255, 0.15);
51
66
  }
67
+
52
68
  .monaco-editor .debug-hover-widget > .monaco-scrollable-element > .value {
53
69
  color: rgba(108, 108, 108, 0.8);
54
70
  overflow: auto;
@@ -57,6 +73,7 @@
57
73
  padding: 4px 5px;
58
74
  white-space: pre-wrap;
59
75
  }
76
+
60
77
  .monaco-editor.vs-dark .debugHoverHighlight,
61
78
  .monaco-editor.hc-theme .debugHoverHighlight {
62
79
  background-color: rgba(38, 79, 120, 0.25);
@@ -1,6 +1,11 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
1
6
  .monaco-workbench .debug-toolbar {
2
7
  position: absolute;
3
- z-index: 2520;
8
+ z-index: 2520; /* Below quick input at 2550, above custom titlebar toolbar at 2500 */
4
9
  height: 26px;
5
10
  display: flex;
6
11
  padding-left: 7px;
@@ -9,16 +14,20 @@
9
14
  top: 0;
10
15
  -webkit-app-region: no-drag;
11
16
  }
17
+
12
18
  .monaco-workbench .debug-toolbar .monaco-action-bar .action-item {
13
19
  margin-right: 4px;
14
20
  }
21
+
15
22
  .monaco-workbench .debug-toolbar .monaco-action-bar .action-item.select-container {
16
23
  margin-right: 7px;
17
24
  }
25
+
18
26
  .monaco-workbench .debug-toolbar .monaco-action-bar .action-item.select-container .monaco-select-box,
19
27
  .monaco-workbench .start-debug-action-item .select-container .monaco-select-box {
20
28
  padding: 0 22px 0 6px;
21
29
  }
30
+
22
31
  .monaco-workbench .debug-toolbar .drag-area {
23
32
  cursor: grab;
24
33
  width: 16px;
@@ -27,9 +36,11 @@
27
36
  align-items: center;
28
37
  justify-content: center;
29
38
  }
39
+
30
40
  .monaco-workbench .debug-toolbar .drag-area.dragged {
31
41
  cursor: grabbing;
32
42
  }
43
+
33
44
  .monaco-workbench .debug-toolbar .monaco-action-bar .action-item .action-label {
34
45
  margin-right: 0;
35
46
  background-size: 16px;
@@ -1,9 +1,18 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ /* Debug viewlet */
7
+
1
8
  .debug-pane {
2
9
  height: 100%;
3
10
  }
11
+
4
12
  .debug-view-content {
5
13
  height: 100%;
6
14
  }
15
+
7
16
  .monaco-workbench .debug-action.notification:after {
8
17
  content: '';
9
18
  width: 6px;
@@ -15,24 +24,29 @@
15
24
  border-radius: 10px;
16
25
  border: 1px solid white;
17
26
  }
27
+
18
28
  .monaco-workbench .part > .title > .title-actions .start-debug-action-item {
19
29
  display: flex;
20
30
  align-items: center;
21
31
  line-height: 20px;
22
32
  flex-shrink: 1;
23
33
  }
34
+
24
35
  .monaco-workbench.mac .part > .title > .title-actions .start-debug-action-item {
25
36
  border-radius: 4px;
26
37
  }
38
+
27
39
  .monaco-workbench .part > .title > .title-actions .start-debug-action-item .codicon {
28
40
  line-height: inherit;
29
41
  flex-shrink: 0;
30
42
  }
43
+
31
44
  .monaco-workbench .part > .title > .title-actions .start-debug-action-item .codicon-debug-start {
32
45
  width: 18px;
33
46
  height: 21px;
34
47
  padding-left: 2px;
35
48
  }
49
+
36
50
  .monaco-workbench .monaco-action-bar .start-debug-action-item .configuration .monaco-select-box {
37
51
  border: none;
38
52
  margin-top: 0px;
@@ -40,29 +54,42 @@
40
54
  line-height: inherit;
41
55
  padding-top: 0;
42
56
  padding-bottom: 0;
57
+
58
+ /* The debug view title is crowded, let this one get narrower than others */
43
59
  min-width: 90px;
44
60
  }
61
+
62
+
45
63
  .monaco-workbench.safari .monaco-action-bar .start-debug-action-item .configuration .monaco-select-box {
46
64
  margin-bottom: 0px;
47
65
  }
66
+
48
67
  .monaco-workbench .monaco-action-bar .start-debug-action-item .configuration.disabled .monaco-select-box {
49
68
  opacity: 0.7;
50
69
  font-style: italic;
51
70
  cursor: initial;
52
71
  }
72
+
73
+ /* Debug viewlet trees */
74
+
53
75
  .debug-pane .line-number {
54
76
  padding-left: 4px;
55
77
  padding-right: 4px;
56
78
  }
79
+
57
80
  .debug-pane .disabled {
58
81
  opacity: 0.65;
59
82
  cursor: initial;
60
83
  }
84
+
61
85
  .debug-pane .monaco-list:focus .monaco-list-row.selected .state.label,
62
86
  .debug-pane .monaco-list:focus .monaco-list-row.selected .load-all,
63
87
  .debug-pane .monaco-list:focus .monaco-list-row.selected.focused .state.label {
64
88
  color: inherit;
65
89
  }
90
+
91
+ /* Call stack */
92
+
66
93
  .debug-pane .call-stack-state-message {
67
94
  flex: 1;
68
95
  text-align: right;
@@ -71,22 +98,26 @@
71
98
  white-space: nowrap;
72
99
  margin: 0px 10px;
73
100
  }
101
+
74
102
  .debug-pane .call-stack-state-message > .label {
75
103
  border-radius: 3px;
76
104
  padding: 1px 2px;
77
105
  font-size: 9px;
78
106
  }
107
+
79
108
  .debug-pane .debug-call-stack .thread,
80
109
  .debug-pane .debug-call-stack .session {
81
110
  display: flex;
82
111
  align-items: center;
83
112
  }
113
+
84
114
  .debug-pane .debug-call-stack .thread > .name,
85
115
  .debug-pane .debug-call-stack .session > .name {
86
116
  flex: 1;
87
117
  overflow: hidden;
88
118
  text-overflow: ellipsis;
89
119
  }
120
+
90
121
  .debug-pane .debug-call-stack .thread > .state.label,
91
122
  .debug-pane .debug-call-stack .session > .state.label {
92
123
  overflow: hidden;
@@ -96,115 +127,146 @@
96
127
  align-self: center;
97
128
  font-size: 0.8em;
98
129
  }
130
+
99
131
  .debug-pane .debug-call-stack .monaco-list-row:hover .state.label {
100
132
  display: none;
101
133
  }
134
+
102
135
  .debug-pane .debug-call-stack .monaco-list-row:hover .stack-frame.has-actions .file .line-number {
103
136
  display: none;
104
137
  }
138
+
105
139
  .debug-pane .monaco-list-row .monaco-action-bar {
106
140
  display: none;
107
141
  flex-shrink: 0;
108
142
  margin-right: 6px;
109
143
  }
144
+
110
145
  .debug-pane .monaco-list-row:hover .monaco-action-bar,
111
146
  .debug-pane .monaco-list-row.focused .monaco-action-bar {
112
147
  display: initial;
113
148
  }
149
+
114
150
  .debug-pane .monaco-list-row .monaco-action-bar .action-label {
115
151
  padding: 2px;
116
152
  }
153
+
117
154
  .debug-pane .session .codicon {
118
155
  line-height: 22px;
119
156
  margin-right: 2px;
120
157
  }
158
+
121
159
  .debug-pane .debug-call-stack .stack-frame {
122
160
  overflow: hidden;
123
161
  text-overflow: ellipsis;
124
162
  padding-right: 0.8em;
125
163
  display: flex;
126
164
  }
165
+
127
166
  .debug-pane .debug-call-stack .stack-frame.label {
128
167
  text-align: center;
129
168
  font-style: italic;
130
169
  }
170
+
131
171
  .debug-pane .debug-call-stack .stack-frame .label {
132
172
  flex: 1;
133
173
  flex-shrink: 0;
134
174
  min-width: fit-content;
135
175
  }
176
+
136
177
  .debug-pane .debug-call-stack .stack-frame.label > .file {
137
178
  display: none;
138
179
  }
180
+
139
181
  .debug-pane .debug-call-stack .stack-frame > .file {
140
182
  display: flex;
141
183
  overflow: hidden;
142
184
  flex-wrap: wrap;
143
185
  justify-content: flex-end;
144
186
  }
187
+
145
188
  .debug-pane .debug-call-stack .stack-frame > .file > .line-number.unavailable {
146
189
  display: none;
147
190
  }
191
+
148
192
  .debug-pane .debug-call-stack .stack-frame > .file > .file-name {
149
193
  overflow: hidden;
150
194
  text-overflow: ellipsis;
151
195
  margin-right: 0.8em;
152
196
  }
197
+
153
198
  .debug-pane .debug-call-stack .stack-frame > .file:not(:first-child) {
154
199
  margin-left: 0.8em;
155
200
  }
201
+
156
202
  .debug-pane .debug-call-stack .load-all {
157
203
  text-align: center;
158
204
  }
205
+
159
206
  .debug-pane .debug-call-stack .show-more {
160
207
  opacity: 0.5;
161
208
  text-align: center;
162
209
  }
210
+
163
211
  .debug-pane .debug-call-stack .error {
164
212
  font-style: italic;
165
213
  text-overflow: ellipsis;
166
214
  overflow: hidden;
167
215
  }
216
+
217
+ /* Variables & Expression view */
218
+
168
219
  .debug-pane .scope {
169
220
  font-weight: bold;
170
221
  font-size: 11px;
171
222
  }
223
+
172
224
  .debug-pane .monaco-list-row .expression .actionbar-spacer {
173
225
  flex-grow: 1;
174
226
  }
227
+
175
228
  .debug-pane .monaco-list-row .expression .value {
176
229
  height: 22px;
177
230
  overflow: hidden;
178
231
  white-space: pre;
179
232
  text-overflow: ellipsis;
180
233
  }
234
+
181
235
  .debug-pane .monaco-list-row .expression .value.changed {
182
236
  border-radius: 4px;
183
237
  }
238
+
184
239
  .debug-pane .monaco-inputbox {
185
240
  width: 100%;
186
241
  line-height: normal;
187
242
  }
243
+
188
244
  .debug-pane .inputBoxContainer {
189
245
  box-sizing: border-box;
190
246
  flex-grow: 1;
191
247
  }
248
+
192
249
  .debug-pane .debug-watch .monaco-inputbox {
193
250
  font-family: var(--monaco-monospace-font);
194
251
  }
252
+
195
253
  .debug-pane .monaco-inputbox > .ibwrapper {
196
254
  height: 19px;
197
255
  }
256
+
198
257
  .debug-pane .monaco-inputbox > .ibwrapper > .input {
199
258
  padding: 0px;
200
259
  color: initial;
201
260
  }
261
+
202
262
  .debug-pane .watch-expression {
203
263
  display: flex;
204
264
  }
265
+
205
266
  .debug-pane .watch-expression .expression {
206
267
  flex : 1;
207
268
  }
269
+
208
270
  .debug-pane .debug-variables .scope .error {
209
271
  font-style: italic;
210
272
  text-overflow: ellipsis;
@@ -218,24 +280,32 @@
218
280
  outline: 1px dotted var(--vscode-list-filterMatchBorder);
219
281
  outline-offset: -1px;
220
282
  }
283
+
284
+ /* Breakpoints */
285
+
221
286
  .debug-pane .monaco-list-row {
222
287
  line-height: 22px;
223
288
  }
289
+
224
290
  .debug-pane .debug-breakpoints .monaco-list-row .breakpoint {
225
291
  padding-left: 2px;
226
292
  }
293
+
227
294
  .debug-pane .debug-breakpoints .breakpoint.exception {
228
295
  padding-left: 21px;
229
296
  }
297
+
230
298
  .debug-pane .debug-breakpoints .breakpoint {
231
299
  display: flex;
232
300
  padding-right: 0.8em;
233
301
  flex: 1;
234
302
  align-items: center;
235
303
  }
304
+
236
305
  .debug-pane .debug-breakpoints .breakpoint input {
237
306
  flex-shrink: 0;
238
307
  }
308
+
239
309
  .debug-pane .debug-breakpoints .breakpoint > .codicon {
240
310
  width: 19px;
241
311
  height: 19px;
@@ -244,6 +314,7 @@
244
314
  align-items: center;
245
315
  justify-content: center;
246
316
  }
317
+
247
318
  .debug-pane .debug-breakpoints .breakpoint > .access-type {
248
319
  opacity: 0.7;
249
320
  margin-left: 0.9em;
@@ -258,13 +329,16 @@
258
329
  text-overflow: ellipsis;
259
330
  overflow: hidden;
260
331
  }
332
+
261
333
  .debug-pane .debug-breakpoints .breakpoint .name {
262
334
  overflow: hidden;
263
335
  text-overflow: ellipsis
264
336
  }
337
+
265
338
  .debug-pane .pane-header .breakpoint-warning {
266
339
  margin-left: 3px;
267
340
  }
341
+
268
342
  .debug-pane .pane-header .breakpoint-warning .monaco-icon-label .codicon {
269
343
  display: flex;
270
344
  align-items: center;
@@ -1,53 +1,76 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ /* Debug repl */
7
+
1
8
  .monaco-workbench .repl {
2
9
  height: 100%;
3
10
  box-sizing: border-box;
4
11
  overflow: hidden;
5
12
  }
13
+
6
14
  .monaco-workbench .repl .repl-tree .monaco-tl-contents {
7
15
  user-select: text;
8
16
  -webkit-user-select: text;
9
17
  white-space: pre;
10
18
  }
19
+
11
20
  .monaco-workbench .repl .repl-tree .monaco-tl-contents .expression {
12
21
  font-family: var(--vscode-repl-font-family);
13
22
  font-size: var(--vscode-repl-font-size);
14
23
  line-height: var(--vscode-repl-line-height);
15
24
  }
25
+
16
26
  .monaco-workbench .repl .repl-tree .monaco-tl-contents .expression .lazy-button {
17
27
  cursor: pointer;
18
28
  }
29
+
19
30
  .monaco-workbench .repl .repl-tree .monaco-tl-twistie {
20
31
  background-position-y: calc(100% - (var(--vscode-repl-font-size-for-twistie)));
21
32
  }
33
+
22
34
  .monaco-workbench .repl .repl-tree.word-wrap .monaco-tl-contents {
35
+ /* Wrap words but also do not trim whitespace #6275 */
23
36
  word-wrap: break-word;
24
37
  white-space: pre-wrap;
38
+ /* Break on all #7533 */
25
39
  word-break: break-all;
26
40
  }
41
+
27
42
  .monaco-workbench .repl .repl-tree.word-wrap .monaco-tl-contents .expression.nested-variable {
28
- white-space: pre;
43
+ white-space: pre; /* Preserve whitespace but don't wrap */
29
44
  }
45
+
30
46
  .monaco-workbench .repl .repl-tree .monaco-tl-twistie.collapsible + .monaco-tl-contents,
31
47
  .monaco-workbench .repl .repl-tree .monaco-tl-twistie {
32
48
  cursor: pointer;
33
49
  }
50
+
34
51
  .monaco-workbench .repl .repl-tree .output.expression.value-and-source {
35
52
  display: flex;
36
53
  }
54
+
37
55
  .monaco-workbench .repl .repl-tree .output.expression.value-and-source .label {
38
56
  margin-right: 4px;
39
57
  }
58
+
40
59
  .monaco-workbench .repl .repl-tree .output.expression.value-and-source .count-badge-wrapper {
41
60
  margin-right: 4px;
42
61
  }
62
+
43
63
  .monaco-workbench .repl .repl-tree .output.expression.value-and-source .count-badge-wrapper .monaco-count-badge {
64
+ /* Allow the badge to be a bit shorter so it does not look cut off */
44
65
  min-height: 16px;
45
66
  word-break: keep-all;
46
67
  }
68
+
47
69
  .monaco-workbench .repl .repl-tree .monaco-tl-contents .arrow {
48
70
  position:absolute;
49
71
  left: 2px;
50
72
  }
73
+
51
74
  .monaco-workbench .repl .repl-tree .output.expression.value-and-source .source,
52
75
  .monaco-workbench .repl .repl-tree .group .source {
53
76
  margin-left: auto;
@@ -58,23 +81,30 @@
58
81
  text-overflow: ellipsis;
59
82
  white-space: nowrap;
60
83
  text-align: right;
84
+ /*Use direction so the source shows elipses on the left*/
61
85
  direction: rtl;
62
86
  max-width: 400px;
63
87
  }
88
+
64
89
  .monaco-workbench .repl .repl-tree .output.expression > .value,
65
90
  .monaco-workbench .repl .repl-tree .evaluation-result.expression > .value {
66
91
  margin-left: 0px;
67
92
  }
93
+
68
94
  .monaco-workbench .repl .repl-tree .output.expression .name:not(:empty) {
69
95
  margin-right: 6px;
70
96
  }
97
+
71
98
  .monaco-workbench .repl .repl-input-wrapper {
72
99
  display: flex;
73
100
  align-items: center;
74
101
  }
102
+
103
+ /* Do not render show more in REPL suggest widget status bar */
75
104
  .monaco-workbench .repl .repl-input-wrapper .suggest-status-bar .monaco-action-bar.right {
76
105
  display: none;
77
106
  }
107
+
78
108
  .monaco-workbench .repl .repl-input-wrapper .repl-input-chevron {
79
109
  padding: 0 6px 0 8px;
80
110
  width: 16px;
@@ -84,15 +114,20 @@
84
114
  justify-content: center;
85
115
  font-weight: 600;
86
116
  }
117
+
118
+ /* Output coloring and styling */
87
119
  .monaco-workbench .repl .repl-tree .output.expression > .ignore {
88
120
  font-style: italic;
89
121
  }
122
+
123
+ /* ANSI Codes */
90
124
  .monaco-workbench .repl .repl-tree .output.expression .code-bold { font-weight: bold; }
91
125
  .monaco-workbench .repl .repl-tree .output.expression .code-italic { font-style: italic; }
92
126
  .monaco-workbench .repl .repl-tree .output.expression .code-underline { text-decoration: underline; text-decoration-style:solid; }
93
127
  .monaco-workbench .repl .repl-tree .output.expression .code-double-underline { text-decoration: underline; text-decoration-style:double; }
94
128
  .monaco-workbench .repl .repl-tree .output.expression .code-strike-through { text-decoration:line-through; text-decoration-style:solid; }
95
129
  .monaco-workbench .repl .repl-tree .output.expression .code-overline { text-decoration:overline; text-decoration-style:solid; }
130
+ /* because they can exist at same time we need all the possible underline(or double-underline),overline and strike-through combinations */
96
131
  .monaco-workbench .repl .repl-tree .output.expression .code-overline.code-underline.code-strike-through { text-decoration: overline underline line-through; text-decoration-style:solid; }
97
132
  .monaco-workbench .repl .repl-tree .output.expression .code-overline.code-underline { text-decoration: overline underline; text-decoration-style:solid; }
98
133
  .monaco-workbench .repl .repl-tree .output.expression .code-overline.code-strike-through { text-decoration: overline line-through; text-decoration-style:solid; }
@@ -6,6 +6,9 @@ import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/
6
6
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
7
7
  import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
8
8
  import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
9
+ /**
10
+ * Encapsulates the DebugAdapter lifecycle and some idiosyncrasies of the Debug Adapter Protocol.
11
+ */
9
12
  export declare class RawDebugSession implements IDisposable {
10
13
  readonly dbgr: IDebugger;
11
14
  private readonly sessionId;
@@ -47,6 +50,10 @@ export declare class RawDebugSession implements IDisposable {
47
50
  get isInShutdown(): boolean;
48
51
  get onDidExitAdapter(): Event<AdapterEndEvent>;
49
52
  get capabilities(): DebugProtocol.Capabilities;
53
+ /**
54
+ * DA is ready to accepts setBreakpoint requests.
55
+ * Becomes true after "initialized" events has been received.
56
+ */
50
57
  get readyForBreakpoints(): boolean;
51
58
  get onDidInitialize(): Event<DebugProtocol.InitializedEvent>;
52
59
  get onDidStop(): Event<DebugProtocol.StoppedEvent>;
@@ -64,10 +71,22 @@ export declare class RawDebugSession implements IDisposable {
64
71
  get onDidInvalidated(): Event<DebugProtocol.InvalidatedEvent>;
65
72
  get onDidInvalidateMemory(): Event<DebugProtocol.MemoryEvent>;
66
73
  get onDidEvent(): Event<DebugProtocol.Event>;
74
+ /**
75
+ * Starts the underlying debug adapter and tracks the session time for telemetry.
76
+ */
67
77
  start(): Promise<void>;
78
+ /**
79
+ * Send client capabilities to the debug adapter and receive DA capabilities in return.
80
+ */
68
81
  initialize(args: DebugProtocol.InitializeRequestArguments): Promise<DebugProtocol.InitializeResponse | undefined>;
82
+ /**
83
+ * Terminate the debuggee and shutdown the adapter
84
+ */
69
85
  disconnect(args: DebugProtocol.DisconnectArguments): Promise<any>;
70
86
  launchOrAttach(config: IConfig): Promise<DebugProtocol.Response | undefined>;
87
+ /**
88
+ * Try killing the debuggee softly...
89
+ */
71
90
  terminate(restart?: boolean): Promise<DebugProtocol.TerminateResponse | undefined>;
72
91
  restart(args: DebugProtocol.RestartArguments): Promise<DebugProtocol.RestartResponse | undefined>;
73
92
  next(args: DebugProtocol.NextArguments): Promise<DebugProtocol.NextResponse | undefined>;
@@ -107,6 +107,9 @@ export declare class ReplDelegate extends CachedListVirtualDelegate<IReplElement
107
107
  private readonly replOptions;
108
108
  constructor(configurationService: IConfigurationService, replOptions: IReplOptions);
109
109
  getHeight(element: IReplElement): number;
110
+ /**
111
+ * With wordWrap enabled, this is an estimate. With wordWrap disabled, this is the real height that the list will use.
112
+ */
110
113
  protected estimateHeight(element: IReplElement, ignoreValueLength?: boolean): number;
111
114
  getTemplateId(element: IReplElement): string;
112
115
  hasDynamicHeight(element: IReplElement): boolean;
@@ -8,6 +8,19 @@ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/w
8
8
  import { IDebugService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/common/debug.service";
9
9
  import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service";
10
10
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
11
+ /**
12
+ * Debug URI format
13
+ *
14
+ * a debug URI represents a Source object and the debug session where the Source comes from.
15
+ *
16
+ * debug:arbitrary_path?session=123e4567-e89b-12d3-a456-426655440000&ref=1016
17
+ * \___/ \____________/ \__________________________________________/ \______/
18
+ * | | | |
19
+ * scheme source.path session id source.reference
20
+ *
21
+ * the arbitrary_path and the session id are encoded with 'encodeURIComponent'
22
+ *
23
+ */
11
24
  export declare class DebugContentProvider extends Disposable implements IWorkbenchContribution, ITextModelContentProvider {
12
25
  private readonly debugService;
13
26
  private readonly modelService;
@@ -18,6 +31,13 @@ export declare class DebugContentProvider extends Disposable implements IWorkben
18
31
  constructor(textModelResolverService: ITextModelService, debugService: IDebugService, modelService: IModelService, languageService: ILanguageService, editorWorkerService: IEditorWorkerService);
19
32
  dispose(): void;
20
33
  provideTextContent(resource: uri): Promise<ITextModel> | null;
34
+ /**
35
+ * Reload the model content of the given resource.
36
+ * If there is no model for the given resource, this method does nothing.
37
+ */
21
38
  static refreshDebugContent(resource: uri): void;
39
+ /**
40
+ * Create or reload the model content of the given resource.
41
+ */
22
42
  private createOrUpdateContentModel;
23
43
  }
@@ -44,11 +44,17 @@ export declare class DebugVisualizerService implements IDebugVisualizerService {
44
44
  private readonly didActivate;
45
45
  private registrations;
46
46
  constructor(contextKeyService: IContextKeyService, extensionService: IExtensionService, logService: ILogService);
47
+ /** @inheritdoc */
47
48
  getApplicableFor(variable: IExpression, token: CancellationToken): Promise<IReference<DebugVisualizer[]>>;
49
+ /** @inheritdoc */
48
50
  register(handle: VisualizerHandle): IDisposable;
51
+ /** @inheritdoc */
49
52
  registerTree(treeId: string, handle: VisualizerTreeHandle): IDisposable;
53
+ /** @inheritdoc */
50
54
  getVisualizedNodeFor(treeId: string, expr: IExpression): Promise<VisualizedExpression | undefined>;
55
+ /** @inheritdoc */
51
56
  getVisualizedChildren(session: IDebugSession | undefined, treeId: string, treeElementId: number): Promise<IExpression[]>;
57
+ /** @inheritdoc */
52
58
  editTreeItem(treeId: string, treeItem: IDebugVisualizationTreeItem, newValue: string): Promise<void>;
53
59
  private getVariableContext;
54
60
  private processExtensionRegistration;