@theia/debug 1.53.0-next.5 → 1.53.0-next.55

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 (88) hide show
  1. package/README.md +62 -62
  2. package/lib/browser/debug-configuration-manager.js +6 -6
  3. package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
  4. package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
  5. package/lib/common/inline-debug-adapter.d.ts +1 -0
  6. package/lib/common/inline-debug-adapter.d.ts.map +1 -1
  7. package/package.json +16 -16
  8. package/src/browser/breakpoint/breakpoint-manager.ts +369 -369
  9. package/src/browser/breakpoint/breakpoint-marker.ts +104 -104
  10. package/src/browser/console/debug-console-contribution.tsx +240 -240
  11. package/src/browser/console/debug-console-items.tsx +384 -384
  12. package/src/browser/console/debug-console-session.ts +205 -205
  13. package/src/browser/debug-call-stack-item-type-key.ts +20 -20
  14. package/src/browser/debug-configuration-manager.ts +591 -591
  15. package/src/browser/debug-configuration-model.ts +100 -100
  16. package/src/browser/debug-contribution.ts +43 -43
  17. package/src/browser/debug-frontend-application-contribution.ts +1551 -1551
  18. package/src/browser/debug-frontend-module.ts +133 -133
  19. package/src/browser/debug-package.spec.ts +20 -20
  20. package/src/browser/debug-preferences.ts +98 -98
  21. package/src/browser/debug-prefix-configuration.ts +195 -195
  22. package/src/browser/debug-resource.ts +59 -59
  23. package/src/browser/debug-schema-updater.ts +149 -149
  24. package/src/browser/debug-session-connection.ts +357 -357
  25. package/src/browser/debug-session-contribution.ts +157 -157
  26. package/src/browser/debug-session-manager.ts +683 -683
  27. package/src/browser/debug-session-options.ts +120 -120
  28. package/src/browser/debug-session.tsx +974 -974
  29. package/src/browser/debug-tab-bar-decorator.ts +57 -57
  30. package/src/browser/debug-watch-manager.ts +93 -93
  31. package/src/browser/disassembly-view/disassembly-view-accessibility-provider.ts +43 -43
  32. package/src/browser/disassembly-view/disassembly-view-breakpoint-renderer.ts +119 -119
  33. package/src/browser/disassembly-view/disassembly-view-contribution.ts +109 -109
  34. package/src/browser/disassembly-view/disassembly-view-instruction-renderer.ts +245 -245
  35. package/src/browser/disassembly-view/disassembly-view-table-delegate.ts +39 -39
  36. package/src/browser/disassembly-view/disassembly-view-utilities.ts +55 -55
  37. package/src/browser/disassembly-view/disassembly-view-widget.ts +463 -463
  38. package/src/browser/editor/debug-breakpoint-widget.tsx +293 -293
  39. package/src/browser/editor/debug-editor-model.ts +529 -529
  40. package/src/browser/editor/debug-editor-service.ts +192 -192
  41. package/src/browser/editor/debug-editor.ts +20 -20
  42. package/src/browser/editor/debug-exception-widget.tsx +122 -122
  43. package/src/browser/editor/debug-expression-provider.ts +78 -78
  44. package/src/browser/editor/debug-hover-source.tsx +105 -105
  45. package/src/browser/editor/debug-hover-widget.ts +298 -298
  46. package/src/browser/editor/debug-inline-value-decorator.ts +373 -373
  47. package/src/browser/model/debug-breakpoint.tsx +151 -151
  48. package/src/browser/model/debug-function-breakpoint.tsx +101 -101
  49. package/src/browser/model/debug-instruction-breakpoint.tsx +68 -68
  50. package/src/browser/model/debug-source-breakpoint.tsx +237 -237
  51. package/src/browser/model/debug-source.ts +93 -93
  52. package/src/browser/model/debug-stack-frame.tsx +177 -177
  53. package/src/browser/model/debug-thread.tsx +292 -292
  54. package/src/browser/preferences/launch-preferences.ts +38 -38
  55. package/src/browser/style/index.css +453 -453
  56. package/src/browser/view/debug-action.tsx +57 -57
  57. package/src/browser/view/debug-breakpoints-source.tsx +53 -53
  58. package/src/browser/view/debug-breakpoints-widget.ts +71 -71
  59. package/src/browser/view/debug-configuration-select.tsx +269 -269
  60. package/src/browser/view/debug-configuration-widget.tsx +121 -121
  61. package/src/browser/view/debug-exception-breakpoint.tsx +68 -68
  62. package/src/browser/view/debug-session-widget.ts +124 -124
  63. package/src/browser/view/debug-stack-frames-source.tsx +75 -75
  64. package/src/browser/view/debug-stack-frames-widget.ts +135 -135
  65. package/src/browser/view/debug-threads-source.tsx +48 -48
  66. package/src/browser/view/debug-threads-widget.ts +126 -126
  67. package/src/browser/view/debug-toolbar-widget.tsx +145 -145
  68. package/src/browser/view/debug-variables-source.ts +43 -43
  69. package/src/browser/view/debug-variables-widget.ts +61 -61
  70. package/src/browser/view/debug-view-model.ts +230 -230
  71. package/src/browser/view/debug-watch-expression.tsx +88 -88
  72. package/src/browser/view/debug-watch-source.ts +41 -41
  73. package/src/browser/view/debug-watch-widget.ts +61 -61
  74. package/src/browser/view/debug-widget.ts +97 -97
  75. package/src/common/debug-adapter-contribution-registry.ts +206 -206
  76. package/src/common/debug-adapter-session.ts +102 -102
  77. package/src/common/debug-common.ts +19 -19
  78. package/src/common/debug-compound.ts +33 -33
  79. package/src/common/debug-configuration.ts +112 -112
  80. package/src/common/debug-model.ts +200 -200
  81. package/src/common/debug-service.ts +184 -184
  82. package/src/common/debug-uri-utils.ts +24 -24
  83. package/src/common/inline-debug-adapter.ts +47 -47
  84. package/src/node/debug-adapter-factory.ts +107 -107
  85. package/src/node/debug-adapter-session-manager.ts +106 -106
  86. package/src/node/debug-backend-module.ts +57 -57
  87. package/src/node/debug-service-impl.ts +119 -119
  88. package/src/node/stream-debug-adapter.ts +126 -126
@@ -1,453 +1,453 @@
1
- /********************************************************************************
2
- * Copyright (C) 2018 Red Hat, Inc. and others.
3
- *
4
- * This program and the accompanying materials are made available under the
5
- * terms of the Eclipse Public License v. 2.0 which is available at
6
- * http://www.eclipse.org/legal/epl-2.0.
7
- *
8
- * This Source Code may also be made available under the following Secondary
9
- * Licenses when the conditions for such availability set forth in the Eclipse
10
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- * with the GNU Classpath Exception which is available at
12
- * https://www.gnu.org/software/classpath/license.html.
13
- *
14
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
- ********************************************************************************/
16
-
17
- .theia-debug-container,
18
- .theia-session-container {
19
- display: flex;
20
- flex-direction: column;
21
- height: 100%;
22
- }
23
-
24
- .theia-debug-container .theia-select {
25
- margin-left: var(--theia-ui-padding);
26
- }
27
-
28
- .theia-source-breakpoint,
29
- .theia-debug-session,
30
- .theia-debug-thread,
31
- .theia-debug-stack-frame {
32
- display: flex;
33
- align-items: center;
34
- }
35
-
36
- .theia-source-breakpoint > span,
37
- .theia-debug-session > span,
38
- .theia-debug-thread > span,
39
- .theia-debug-stack-frame > span,
40
- .theia-debug-stack-frame .file > span {
41
- margin-left: calc(var(--theia-ui-padding) / 2);
42
- }
43
-
44
- .theia-debug-session .label,
45
- .theia-debug-thread .label,
46
- .theia-debug-stack-frame .expression {
47
- width: 100%;
48
- overflow: hidden;
49
- white-space: nowrap;
50
- text-overflow: ellipsis;
51
- }
52
-
53
- .theia-source-breakpoint .path {
54
- font-size: var(--theia-ui-font-size0);
55
- }
56
-
57
- .theia-source-breakpoint .line-info {
58
- overflow: hidden;
59
- text-overflow: ellipsis;
60
- width: 100%;
61
- white-space: nowrap;
62
- }
63
-
64
- .theia-source-breakpoint .line,
65
- .theia-debug-stack-frame .line {
66
- background: var(--theia-descriptionForeground);
67
- color: var(--theia-editor-background);
68
- padding: calc(var(--theia-ui-padding) / 3);
69
- font-size: var(--theia-ui-font-size0);
70
- line-height: calc(var(--theia-private-horizontal-tab-height) / 2);
71
- border-radius: 2px;
72
- }
73
-
74
- .theia-debug-session .status,
75
- .theia-debug-thread .status {
76
- text-transform: uppercase;
77
- white-space: nowrap;
78
- }
79
-
80
- .theia-debug-stack-frame .expression {
81
- white-space: pre;
82
- }
83
-
84
- .theia-debug-stack-frame.label {
85
- text-align: center;
86
- font-style: italic;
87
- }
88
-
89
- .theia-debug-stack-frame.subtle {
90
- font-style: italic;
91
- }
92
-
93
- .theia-debug-stack-frame .file > span {
94
- white-space: nowrap;
95
- }
96
-
97
- .theia-load-more-frames {
98
- text-align: center;
99
- font-style: italic;
100
- white-space: nowrap;
101
- display: flex;
102
- flex-direction: column;
103
- }
104
-
105
- /** Miscellaneous */
106
-
107
- .debug-toolbar {
108
- display: flex;
109
- align-items: center;
110
- padding-top: calc(var(--theia-ui-padding) * 2);
111
- padding-right: calc(var(--theia-ui-padding) * 3);
112
- padding-bottom: var(--theia-ui-padding);
113
- padding-left: calc(var(--theia-ui-padding) * 2);
114
- }
115
-
116
- .theia-session-container > .debug-toolbar {
117
- padding-top: var(--theia-ui-padding);
118
- padding-bottom: var(--theia-ui-padding);
119
- border-bottom: 1px solid var(--theia-sideBarSectionHeader-border);
120
- }
121
-
122
- .debug-toolbar .theia-select-component {
123
- width: 100%;
124
- min-width: 40px;
125
- margin: 0px 4px;
126
- }
127
-
128
- .debug-toolbar .debug-action {
129
- opacity: 0.9;
130
- cursor: pointer;
131
- pointer-events: all;
132
- padding-left: var(--theia-ui-padding);
133
- padding-right: var(--theia-ui-padding);
134
- min-width: var(--theia-icon-size);
135
- min-height: var(--theia-icon-size);
136
- }
137
-
138
- .debug-toolbar .debug-action.theia-mod-disabled {
139
- opacity: 0.5 !important;
140
- user-select: none;
141
- pointer-events: none;
142
- }
143
-
144
- .debug-toolbar .debug-action:not(.theia-mod-disabled):hover {
145
- opacity: 1;
146
- }
147
-
148
- .debug-toolbar .debug-action > div {
149
- font-family: var(--theia-ui-font-family);
150
- font-size: var(--theia-ui-font-size0);
151
- display: flex;
152
- align-items: center;
153
- align-self: center;
154
- justify-content: center;
155
- text-align: center;
156
- min-height: inherit;
157
- }
158
-
159
- /** Console */
160
-
161
- #debug-console .theia-console-info {
162
- color: var(--theia-debugConsole-infoForeground) !important;
163
- }
164
- #debug-console .theia-console-warning {
165
- color: var(--theia-debugConsole-warningForeground) !important;
166
- }
167
- #debug-console .theia-console-error {
168
- color: var(--theia-debugConsole-errorForeground) !important;
169
- }
170
-
171
- .theia-debug-console-unavailable {
172
- font-style: italic;
173
- }
174
-
175
- .theia-debug-console-expression {
176
- display: flex;
177
- flex-direction: column;
178
- white-space: pre-wrap;
179
- }
180
-
181
- .theia-debug-console-variable {
182
- white-space: nowrap;
183
- overflow: hidden;
184
- text-overflow: ellipsis;
185
- color: var(--theia-variable-value-color);
186
- }
187
-
188
- .theia-debug-hover-title.number,
189
- .theia-debug-console-variable.number {
190
- color: var(--theia-variable-number-variable-color);
191
- }
192
-
193
- .theia-debug-hover-title.boolean,
194
- .theia-debug-console-variable.boolean {
195
- color: var(--theia-variable-boolean-variable-color);
196
- }
197
-
198
- .theia-debug-hover-title.string,
199
- .theia-debug-console-variable.string {
200
- color: var(--theia-variable-string-variable-color);
201
- }
202
-
203
- .theia-debug-console-variable .name {
204
- color: var(--theia-variable-name-color);
205
- }
206
-
207
- .theia-TreeNode:not(:hover) .theia-debug-console-variable .action-label {
208
- visibility: hidden;
209
- }
210
-
211
- .theia-debug-console-variable .action-label {
212
- /* Vertically center the button in the tree node */
213
- margin: auto;
214
- }
215
-
216
- .theia-debug-console-variable .watch-error {
217
- font-style: italic;
218
- color: var(--theia-debugConsole-errorForeground);
219
- }
220
-
221
- .theia-debug-watch-expression {
222
- display: flex;
223
- }
224
-
225
- /** Editor **/
226
-
227
- .theia-debug-breakpoint-icon {
228
- font-size: 19px !important;
229
- width: 19px;
230
- height: 19px;
231
- min-width: 19px;
232
- margin-left: 0px !important;
233
- }
234
-
235
- .codicon-debug-hint {
236
- cursor: pointer;
237
- }
238
-
239
- .codicon-debug-breakpoint,
240
- .codicon-debug-breakpoint-conditional,
241
- .codicon-debug-breakpoint-log,
242
- .codicon-debug-breakpoint-function,
243
- .codicon-debug-breakpoint-data,
244
- .codicon-debug-breakpoint-unsupported,
245
- .codicon-debug-hint:not([class*="codicon-debug-breakpoint"]):not(
246
- [class*="codicon-debug-stackframe"]
247
- ),
248
- .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
249
- .codicon-debug-breakpoint.codicon-debug-stackframe::after {
250
- color: var(--theia-debugIcon-breakpointForeground) !important;
251
- }
252
-
253
- .codicon[class*="-disabled"] {
254
- color: var(--theia-debugIcon-breakpointDisabledForeground) !important;
255
- }
256
-
257
- .codicon[class*="-unverified"] {
258
- color: var(--theia-debugIcon-breakpointUnverifiedForeground) !important;
259
- }
260
-
261
- .codicon-debug-stackframe,
262
- .monaco-editor .theia-debug-top-stack-frame-column::before {
263
- color: var(
264
- --theia-debugIcon-breakpointCurrentStackframeForeground
265
- ) !important;
266
- }
267
-
268
- .codicon-debug-stackframe-focused {
269
- color: var(--theia-debugIcon-breakpointStackframeForeground) !important;
270
- }
271
-
272
- .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
273
- .codicon-debug-breakpoint.codicon-debug-stackframe::after {
274
- content: "\eb8a";
275
- position: absolute;
276
- }
277
-
278
- .monaco-editor .theia-debug-breakpoint-column::before {
279
- height: 0.9em;
280
- display: inline-flex;
281
- vertical-align: middle;
282
- }
283
-
284
- .monaco-editor .theia-debug-top-stack-frame-column::before {
285
- content: " ";
286
- width: 0.9em;
287
- display: inline-flex;
288
- vertical-align: middle;
289
- margin-top: -1px; /* TODO @misolori: figure out a way to not use negative margin for alignment */
290
- }
291
-
292
- .monaco-editor .theia-debug-top-stack-frame-column {
293
- display: inline-flex;
294
- vertical-align: middle;
295
- }
296
-
297
- .monaco-editor .theia-debug-top-stack-frame-column::before {
298
- content: "\eb8b";
299
- font: normal normal normal 16px/1 codicon;
300
- text-rendering: auto;
301
- -webkit-font-smoothing: antialiased;
302
- -moz-osx-font-smoothing: grayscale;
303
- margin-left: 0;
304
- margin-right: 4px;
305
- }
306
-
307
- .codicon-debug-hint:not([class*="codicon-debug-breakpoint"]):not(
308
- [class*="codicon-debug-stackframe"]
309
- ) {
310
- opacity: 0.4 !important;
311
- }
312
-
313
- .monaco-editor .view-overlays .theia-debug-top-stack-frame-line {
314
- background: var(--theia-editor-stackFrameHighlightBackground);
315
- }
316
-
317
- .monaco-editor .view-overlays .theia-debug-focused-stack-frame-line {
318
- background: var(--theia-editor-focusedStackFrameHighlightBackground);
319
- }
320
-
321
- /** Toolbars */
322
-
323
- .codicon-debug-start {
324
- color: var(--theia-debugIcon-startForeground) !important;
325
- }
326
- .codicon-debug-pause {
327
- color: var(--theia-debugIcon-pauseForeground) !important;
328
- }
329
-
330
- .codicon-debug-stop {
331
- color: var(--theia-debugIcon-stopForeground) !important;
332
- }
333
- .codicon-debug-disconnect {
334
- color: var(--theia-debugIcon-disconnectForeground) !important;
335
- }
336
- .codicon-debug-restart,
337
- .codicon-debug-restart-frame {
338
- color: var(--theia-debugIcon-restartForeground) !important;
339
- }
340
- .codicon-debug-step-over {
341
- color: var(--theia-debugIcon-stepOverForeground) !important;
342
- }
343
- .codicon-debug-step-into {
344
- color: var(--theia-debugIcon-stepIntoForeground) !important;
345
- }
346
- .codicon-debug-step-out {
347
- color: var(--theia-debugIcon-stepOutForeground) !important;
348
- }
349
- .codicon-debug-continue,
350
- .codicon-debug-reverse-continue {
351
- color: var(--theia-debugIcon-continueForeground) !important;
352
- }
353
-
354
- .codicon-debug-step-back {
355
- color: var(--theia-debugIcon-stepBackForeground) !important;
356
- }
357
-
358
- /** Hover */
359
- .theia-debug-hover {
360
- display: flex !important;
361
- flex-direction: column;
362
- border: 1px solid var(--theia-editorHoverWidget-border);
363
- background: var(--theia-editorHoverWidget-background);
364
- color: var(--theia-editorHoverWidget-foreground);
365
- }
366
-
367
- .theia-debug-hover.complex-value {
368
- min-width: 324px;
369
- min-height: 324px;
370
- width: 324px;
371
- height: 324px;
372
- }
373
-
374
- .theia-debug-hover .theia-source-tree {
375
- height: 100%;
376
- width: 100%;
377
- }
378
-
379
- .theia-debug-hover-title {
380
- overflow: hidden;
381
- white-space: nowrap;
382
- text-overflow: ellipsis;
383
- padding: var(--theia-ui-padding);
384
- border-bottom: 1px solid var(--theia-editorHoverWidget-border);
385
- }
386
-
387
- .theia-debug-hover-content {
388
- display: flex;
389
- flex: 1;
390
- overflow-y: auto;
391
- }
392
-
393
- /** Breakpoint Widget */
394
- .theia-debug-breakpoint-widget {
395
- display: flex;
396
- }
397
-
398
- .theia-debug-breakpoint-select {
399
- display: flex;
400
- justify-content: center;
401
- flex-direction: column;
402
- padding: 0 10px;
403
- flex-shrink: 0;
404
- }
405
-
406
- .theia-debug-breakpoint-input {
407
- flex: 1;
408
- margin-top: var(--theia-ui-padding);
409
- margin-bottom: var(--theia-ui-padding);
410
- }
411
-
412
- /* Status Bar */
413
- .theia-mod-debugging #theia-statusBar {
414
- background: var(--theia-statusBar-debuggingBackground);
415
- border-top: var(--theia-border-width) solid
416
- var(--theia-statusBar-debuggingBorder);
417
- }
418
-
419
- .theia-mod-debugging #theia-statusBar .area .element {
420
- color: var(--theia-statusBar-debuggingForeground);
421
- }
422
-
423
- /** Exception Widget */
424
- .monaco-editor
425
- .zone-widget
426
- .zone-widget-container.theia-debug-exception-widget {
427
- color: var(--theia-editor-foreground);
428
- font-size: var(--theia-code-font-size);
429
- line-height: var(--theia-code-line-height);
430
- font-family: var(--theia-code-font-family);
431
- border-top-color: var(--theia-debugExceptionWidget-border);
432
- border-bottom-color: var(--theia-debugExceptionWidget-border);
433
- background-color: var(--theia-debugExceptionWidget-background);
434
- padding: var(--theia-ui-padding) calc(var(--theia-ui-padding) * 1.5);
435
- white-space: pre-wrap;
436
- user-select: text;
437
- overflow: hidden;
438
- }
439
-
440
- .theia-debug-exception-widget .title {
441
- font-family: var(--theia-ui-font-family);
442
- font-weight: bold;
443
- }
444
-
445
- .theia-debug-exception-widget .stack-trace {
446
- margin-top: 0.5em;
447
- }
448
-
449
- .theia-debug-exception-widget #exception-close {
450
- cursor: pointer;
451
- margin-left: 5px;
452
- vertical-align: middle;
453
- }
1
+ /********************************************************************************
2
+ * Copyright (C) 2018 Red Hat, Inc. and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ .theia-debug-container,
18
+ .theia-session-container {
19
+ display: flex;
20
+ flex-direction: column;
21
+ height: 100%;
22
+ }
23
+
24
+ .theia-debug-container .theia-select {
25
+ margin-left: var(--theia-ui-padding);
26
+ }
27
+
28
+ .theia-source-breakpoint,
29
+ .theia-debug-session,
30
+ .theia-debug-thread,
31
+ .theia-debug-stack-frame {
32
+ display: flex;
33
+ align-items: center;
34
+ }
35
+
36
+ .theia-source-breakpoint > span,
37
+ .theia-debug-session > span,
38
+ .theia-debug-thread > span,
39
+ .theia-debug-stack-frame > span,
40
+ .theia-debug-stack-frame .file > span {
41
+ margin-left: calc(var(--theia-ui-padding) / 2);
42
+ }
43
+
44
+ .theia-debug-session .label,
45
+ .theia-debug-thread .label,
46
+ .theia-debug-stack-frame .expression {
47
+ width: 100%;
48
+ overflow: hidden;
49
+ white-space: nowrap;
50
+ text-overflow: ellipsis;
51
+ }
52
+
53
+ .theia-source-breakpoint .path {
54
+ font-size: var(--theia-ui-font-size0);
55
+ }
56
+
57
+ .theia-source-breakpoint .line-info {
58
+ overflow: hidden;
59
+ text-overflow: ellipsis;
60
+ width: 100%;
61
+ white-space: nowrap;
62
+ }
63
+
64
+ .theia-source-breakpoint .line,
65
+ .theia-debug-stack-frame .line {
66
+ background: var(--theia-descriptionForeground);
67
+ color: var(--theia-editor-background);
68
+ padding: calc(var(--theia-ui-padding) / 3);
69
+ font-size: var(--theia-ui-font-size0);
70
+ line-height: calc(var(--theia-private-horizontal-tab-height) / 2);
71
+ border-radius: 2px;
72
+ }
73
+
74
+ .theia-debug-session .status,
75
+ .theia-debug-thread .status {
76
+ text-transform: uppercase;
77
+ white-space: nowrap;
78
+ }
79
+
80
+ .theia-debug-stack-frame .expression {
81
+ white-space: pre;
82
+ }
83
+
84
+ .theia-debug-stack-frame.label {
85
+ text-align: center;
86
+ font-style: italic;
87
+ }
88
+
89
+ .theia-debug-stack-frame.subtle {
90
+ font-style: italic;
91
+ }
92
+
93
+ .theia-debug-stack-frame .file > span {
94
+ white-space: nowrap;
95
+ }
96
+
97
+ .theia-load-more-frames {
98
+ text-align: center;
99
+ font-style: italic;
100
+ white-space: nowrap;
101
+ display: flex;
102
+ flex-direction: column;
103
+ }
104
+
105
+ /** Miscellaneous */
106
+
107
+ .debug-toolbar {
108
+ display: flex;
109
+ align-items: center;
110
+ padding-top: calc(var(--theia-ui-padding) * 2);
111
+ padding-right: calc(var(--theia-ui-padding) * 3);
112
+ padding-bottom: var(--theia-ui-padding);
113
+ padding-left: calc(var(--theia-ui-padding) * 2);
114
+ }
115
+
116
+ .theia-session-container > .debug-toolbar {
117
+ padding-top: var(--theia-ui-padding);
118
+ padding-bottom: var(--theia-ui-padding);
119
+ border-bottom: 1px solid var(--theia-sideBarSectionHeader-border);
120
+ }
121
+
122
+ .debug-toolbar .theia-select-component {
123
+ width: 100%;
124
+ min-width: 40px;
125
+ margin: 0px 4px;
126
+ }
127
+
128
+ .debug-toolbar .debug-action {
129
+ opacity: 0.9;
130
+ cursor: pointer;
131
+ pointer-events: all;
132
+ padding-left: var(--theia-ui-padding);
133
+ padding-right: var(--theia-ui-padding);
134
+ min-width: var(--theia-icon-size);
135
+ min-height: var(--theia-icon-size);
136
+ }
137
+
138
+ .debug-toolbar .debug-action.theia-mod-disabled {
139
+ opacity: 0.5 !important;
140
+ user-select: none;
141
+ pointer-events: none;
142
+ }
143
+
144
+ .debug-toolbar .debug-action:not(.theia-mod-disabled):hover {
145
+ opacity: 1;
146
+ }
147
+
148
+ .debug-toolbar .debug-action > div {
149
+ font-family: var(--theia-ui-font-family);
150
+ font-size: var(--theia-ui-font-size0);
151
+ display: flex;
152
+ align-items: center;
153
+ align-self: center;
154
+ justify-content: center;
155
+ text-align: center;
156
+ min-height: inherit;
157
+ }
158
+
159
+ /** Console */
160
+
161
+ #debug-console .theia-console-info {
162
+ color: var(--theia-debugConsole-infoForeground) !important;
163
+ }
164
+ #debug-console .theia-console-warning {
165
+ color: var(--theia-debugConsole-warningForeground) !important;
166
+ }
167
+ #debug-console .theia-console-error {
168
+ color: var(--theia-debugConsole-errorForeground) !important;
169
+ }
170
+
171
+ .theia-debug-console-unavailable {
172
+ font-style: italic;
173
+ }
174
+
175
+ .theia-debug-console-expression {
176
+ display: flex;
177
+ flex-direction: column;
178
+ white-space: pre-wrap;
179
+ }
180
+
181
+ .theia-debug-console-variable {
182
+ white-space: nowrap;
183
+ overflow: hidden;
184
+ text-overflow: ellipsis;
185
+ color: var(--theia-variable-value-color);
186
+ }
187
+
188
+ .theia-debug-hover-title.number,
189
+ .theia-debug-console-variable.number {
190
+ color: var(--theia-variable-number-variable-color);
191
+ }
192
+
193
+ .theia-debug-hover-title.boolean,
194
+ .theia-debug-console-variable.boolean {
195
+ color: var(--theia-variable-boolean-variable-color);
196
+ }
197
+
198
+ .theia-debug-hover-title.string,
199
+ .theia-debug-console-variable.string {
200
+ color: var(--theia-variable-string-variable-color);
201
+ }
202
+
203
+ .theia-debug-console-variable .name {
204
+ color: var(--theia-variable-name-color);
205
+ }
206
+
207
+ .theia-TreeNode:not(:hover) .theia-debug-console-variable .action-label {
208
+ visibility: hidden;
209
+ }
210
+
211
+ .theia-debug-console-variable .action-label {
212
+ /* Vertically center the button in the tree node */
213
+ margin: auto;
214
+ }
215
+
216
+ .theia-debug-console-variable .watch-error {
217
+ font-style: italic;
218
+ color: var(--theia-debugConsole-errorForeground);
219
+ }
220
+
221
+ .theia-debug-watch-expression {
222
+ display: flex;
223
+ }
224
+
225
+ /** Editor **/
226
+
227
+ .theia-debug-breakpoint-icon {
228
+ font-size: 19px !important;
229
+ width: 19px;
230
+ height: 19px;
231
+ min-width: 19px;
232
+ margin-left: 0px !important;
233
+ }
234
+
235
+ .codicon-debug-hint {
236
+ cursor: pointer;
237
+ }
238
+
239
+ .codicon-debug-breakpoint,
240
+ .codicon-debug-breakpoint-conditional,
241
+ .codicon-debug-breakpoint-log,
242
+ .codicon-debug-breakpoint-function,
243
+ .codicon-debug-breakpoint-data,
244
+ .codicon-debug-breakpoint-unsupported,
245
+ .codicon-debug-hint:not([class*="codicon-debug-breakpoint"]):not(
246
+ [class*="codicon-debug-stackframe"]
247
+ ),
248
+ .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
249
+ .codicon-debug-breakpoint.codicon-debug-stackframe::after {
250
+ color: var(--theia-debugIcon-breakpointForeground) !important;
251
+ }
252
+
253
+ .codicon[class*="-disabled"] {
254
+ color: var(--theia-debugIcon-breakpointDisabledForeground) !important;
255
+ }
256
+
257
+ .codicon[class*="-unverified"] {
258
+ color: var(--theia-debugIcon-breakpointUnverifiedForeground) !important;
259
+ }
260
+
261
+ .codicon-debug-stackframe,
262
+ .monaco-editor .theia-debug-top-stack-frame-column::before {
263
+ color: var(
264
+ --theia-debugIcon-breakpointCurrentStackframeForeground
265
+ ) !important;
266
+ }
267
+
268
+ .codicon-debug-stackframe-focused {
269
+ color: var(--theia-debugIcon-breakpointStackframeForeground) !important;
270
+ }
271
+
272
+ .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after,
273
+ .codicon-debug-breakpoint.codicon-debug-stackframe::after {
274
+ content: "\eb8a";
275
+ position: absolute;
276
+ }
277
+
278
+ .monaco-editor .theia-debug-breakpoint-column::before {
279
+ height: 0.9em;
280
+ display: inline-flex;
281
+ vertical-align: middle;
282
+ }
283
+
284
+ .monaco-editor .theia-debug-top-stack-frame-column::before {
285
+ content: " ";
286
+ width: 0.9em;
287
+ display: inline-flex;
288
+ vertical-align: middle;
289
+ margin-top: -1px; /* TODO @misolori: figure out a way to not use negative margin for alignment */
290
+ }
291
+
292
+ .monaco-editor .theia-debug-top-stack-frame-column {
293
+ display: inline-flex;
294
+ vertical-align: middle;
295
+ }
296
+
297
+ .monaco-editor .theia-debug-top-stack-frame-column::before {
298
+ content: "\eb8b";
299
+ font: normal normal normal 16px/1 codicon;
300
+ text-rendering: auto;
301
+ -webkit-font-smoothing: antialiased;
302
+ -moz-osx-font-smoothing: grayscale;
303
+ margin-left: 0;
304
+ margin-right: 4px;
305
+ }
306
+
307
+ .codicon-debug-hint:not([class*="codicon-debug-breakpoint"]):not(
308
+ [class*="codicon-debug-stackframe"]
309
+ ) {
310
+ opacity: 0.4 !important;
311
+ }
312
+
313
+ .monaco-editor .view-overlays .theia-debug-top-stack-frame-line {
314
+ background: var(--theia-editor-stackFrameHighlightBackground);
315
+ }
316
+
317
+ .monaco-editor .view-overlays .theia-debug-focused-stack-frame-line {
318
+ background: var(--theia-editor-focusedStackFrameHighlightBackground);
319
+ }
320
+
321
+ /** Toolbars */
322
+
323
+ .codicon-debug-start {
324
+ color: var(--theia-debugIcon-startForeground) !important;
325
+ }
326
+ .codicon-debug-pause {
327
+ color: var(--theia-debugIcon-pauseForeground) !important;
328
+ }
329
+
330
+ .codicon-debug-stop {
331
+ color: var(--theia-debugIcon-stopForeground) !important;
332
+ }
333
+ .codicon-debug-disconnect {
334
+ color: var(--theia-debugIcon-disconnectForeground) !important;
335
+ }
336
+ .codicon-debug-restart,
337
+ .codicon-debug-restart-frame {
338
+ color: var(--theia-debugIcon-restartForeground) !important;
339
+ }
340
+ .codicon-debug-step-over {
341
+ color: var(--theia-debugIcon-stepOverForeground) !important;
342
+ }
343
+ .codicon-debug-step-into {
344
+ color: var(--theia-debugIcon-stepIntoForeground) !important;
345
+ }
346
+ .codicon-debug-step-out {
347
+ color: var(--theia-debugIcon-stepOutForeground) !important;
348
+ }
349
+ .codicon-debug-continue,
350
+ .codicon-debug-reverse-continue {
351
+ color: var(--theia-debugIcon-continueForeground) !important;
352
+ }
353
+
354
+ .codicon-debug-step-back {
355
+ color: var(--theia-debugIcon-stepBackForeground) !important;
356
+ }
357
+
358
+ /** Hover */
359
+ .theia-debug-hover {
360
+ display: flex !important;
361
+ flex-direction: column;
362
+ border: 1px solid var(--theia-editorHoverWidget-border);
363
+ background: var(--theia-editorHoverWidget-background);
364
+ color: var(--theia-editorHoverWidget-foreground);
365
+ }
366
+
367
+ .theia-debug-hover.complex-value {
368
+ min-width: 324px;
369
+ min-height: 324px;
370
+ width: 324px;
371
+ height: 324px;
372
+ }
373
+
374
+ .theia-debug-hover .theia-source-tree {
375
+ height: 100%;
376
+ width: 100%;
377
+ }
378
+
379
+ .theia-debug-hover-title {
380
+ overflow: hidden;
381
+ white-space: nowrap;
382
+ text-overflow: ellipsis;
383
+ padding: var(--theia-ui-padding);
384
+ border-bottom: 1px solid var(--theia-editorHoverWidget-border);
385
+ }
386
+
387
+ .theia-debug-hover-content {
388
+ display: flex;
389
+ flex: 1;
390
+ overflow-y: auto;
391
+ }
392
+
393
+ /** Breakpoint Widget */
394
+ .theia-debug-breakpoint-widget {
395
+ display: flex;
396
+ }
397
+
398
+ .theia-debug-breakpoint-select {
399
+ display: flex;
400
+ justify-content: center;
401
+ flex-direction: column;
402
+ padding: 0 10px;
403
+ flex-shrink: 0;
404
+ }
405
+
406
+ .theia-debug-breakpoint-input {
407
+ flex: 1;
408
+ margin-top: var(--theia-ui-padding);
409
+ margin-bottom: var(--theia-ui-padding);
410
+ }
411
+
412
+ /* Status Bar */
413
+ .theia-mod-debugging #theia-statusBar {
414
+ background: var(--theia-statusBar-debuggingBackground);
415
+ border-top: var(--theia-border-width) solid
416
+ var(--theia-statusBar-debuggingBorder);
417
+ }
418
+
419
+ .theia-mod-debugging #theia-statusBar .area .element {
420
+ color: var(--theia-statusBar-debuggingForeground);
421
+ }
422
+
423
+ /** Exception Widget */
424
+ .monaco-editor
425
+ .zone-widget
426
+ .zone-widget-container.theia-debug-exception-widget {
427
+ color: var(--theia-editor-foreground);
428
+ font-size: var(--theia-code-font-size);
429
+ line-height: var(--theia-code-line-height);
430
+ font-family: var(--theia-code-font-family);
431
+ border-top-color: var(--theia-debugExceptionWidget-border);
432
+ border-bottom-color: var(--theia-debugExceptionWidget-border);
433
+ background-color: var(--theia-debugExceptionWidget-background);
434
+ padding: var(--theia-ui-padding) calc(var(--theia-ui-padding) * 1.5);
435
+ white-space: pre-wrap;
436
+ user-select: text;
437
+ overflow: hidden;
438
+ }
439
+
440
+ .theia-debug-exception-widget .title {
441
+ font-family: var(--theia-ui-font-family);
442
+ font-weight: bold;
443
+ }
444
+
445
+ .theia-debug-exception-widget .stack-trace {
446
+ margin-top: 0.5em;
447
+ }
448
+
449
+ .theia-debug-exception-widget #exception-close {
450
+ cursor: pointer;
451
+ margin-left: 5px;
452
+ vertical-align: middle;
453
+ }