@theia/debug 1.67.0-next.56 → 1.67.0-next.86

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 (353) hide show
  1. package/lib/browser/breakpoint/breakpoint-manager.d.ts +91 -0
  2. package/lib/browser/breakpoint/breakpoint-manager.d.ts.map +1 -0
  3. package/lib/browser/breakpoint/breakpoint-manager.js +367 -0
  4. package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -0
  5. package/lib/browser/breakpoint/breakpoint-marker.d.ts +65 -0
  6. package/lib/browser/breakpoint/breakpoint-marker.d.ts.map +1 -0
  7. package/lib/browser/breakpoint/breakpoint-marker.js +102 -0
  8. package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -0
  9. package/lib/browser/breakpoint/debug-data-breakpoint-actions.d.ts +17 -0
  10. package/lib/browser/breakpoint/debug-data-breakpoint-actions.d.ts.map +1 -0
  11. package/lib/browser/breakpoint/debug-data-breakpoint-actions.js +166 -0
  12. package/lib/browser/breakpoint/debug-data-breakpoint-actions.js.map +1 -0
  13. package/lib/browser/console/debug-console-contribution.d.ts +45 -0
  14. package/lib/browser/console/debug-console-contribution.d.ts.map +1 -0
  15. package/lib/browser/console/debug-console-contribution.js +233 -0
  16. package/lib/browser/console/debug-console-contribution.js.map +1 -0
  17. package/lib/browser/console/debug-console-items.d.ts +108 -0
  18. package/lib/browser/console/debug-console-items.d.ts.map +1 -0
  19. package/lib/browser/console/debug-console-items.js +407 -0
  20. package/lib/browser/console/debug-console-items.js.map +1 -0
  21. package/lib/browser/console/debug-console-session.d.ts +32 -0
  22. package/lib/browser/console/debug-console-session.d.ts.map +1 -0
  23. package/lib/browser/console/debug-console-session.js +193 -0
  24. package/lib/browser/console/debug-console-session.js.map +1 -0
  25. package/lib/browser/debug-call-stack-item-type-key.d.ts +4 -0
  26. package/lib/browser/debug-call-stack-item-type-key.d.ts.map +1 -0
  27. package/lib/browser/debug-call-stack-item-type-key.js +20 -0
  28. package/lib/browser/debug-call-stack-item-type-key.js.map +1 -0
  29. package/lib/browser/debug-configuration-manager.d.ts +103 -0
  30. package/lib/browser/debug-configuration-manager.d.ts.map +1 -0
  31. package/lib/browser/debug-configuration-manager.js +545 -0
  32. package/lib/browser/debug-configuration-manager.js.map +1 -0
  33. package/lib/browser/debug-configuration-model.d.ts +30 -0
  34. package/lib/browser/debug-configuration-model.d.ts.map +1 -0
  35. package/lib/browser/debug-configuration-model.js +80 -0
  36. package/lib/browser/debug-configuration-model.js.map +1 -0
  37. package/lib/browser/debug-contribution.d.ts +23 -0
  38. package/lib/browser/debug-contribution.d.ts.map +1 -0
  39. package/lib/browser/debug-contribution.js +20 -0
  40. package/lib/browser/debug-contribution.js.map +1 -0
  41. package/lib/browser/debug-frontend-application-contribution.d.ts +252 -0
  42. package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -0
  43. package/lib/browser/debug-frontend-application-contribution.js +1696 -0
  44. package/lib/browser/debug-frontend-application-contribution.js.map +1 -0
  45. package/lib/browser/debug-frontend-module.d.ts +5 -0
  46. package/lib/browser/debug-frontend-module.d.ts.map +1 -0
  47. package/lib/browser/debug-frontend-module.js +112 -0
  48. package/lib/browser/debug-frontend-module.js.map +1 -0
  49. package/lib/browser/debug-package.spec.d.ts +1 -0
  50. package/lib/browser/debug-package.spec.d.ts.map +1 -0
  51. package/lib/browser/debug-package.spec.js +19 -0
  52. package/lib/browser/debug-package.spec.js.map +1 -0
  53. package/lib/browser/debug-prefix-configuration.d.ts +52 -0
  54. package/lib/browser/debug-prefix-configuration.d.ts.map +1 -0
  55. package/lib/browser/debug-prefix-configuration.js +202 -0
  56. package/lib/browser/debug-prefix-configuration.js.map +1 -0
  57. package/lib/browser/debug-resource.d.ts +15 -0
  58. package/lib/browser/debug-resource.d.ts.map +1 -0
  59. package/lib/browser/debug-resource.js +58 -0
  60. package/lib/browser/debug-resource.js.map +1 -0
  61. package/lib/browser/debug-schema-updater.d.ts +14 -0
  62. package/lib/browser/debug-schema-updater.d.ts.map +1 -0
  63. package/lib/browser/debug-schema-updater.js +161 -0
  64. package/lib/browser/debug-schema-updater.js.map +1 -0
  65. package/lib/browser/debug-session-configuration-label-provider.d.ts +11 -0
  66. package/lib/browser/debug-session-configuration-label-provider.d.ts.map +1 -0
  67. package/lib/browser/debug-session-configuration-label-provider.js +48 -0
  68. package/lib/browser/debug-session-configuration-label-provider.js.map +1 -0
  69. package/lib/browser/debug-session-configuration-label-provider.spec.d.ts +2 -0
  70. package/lib/browser/debug-session-configuration-label-provider.spec.d.ts.map +1 -0
  71. package/lib/browser/debug-session-configuration-label-provider.spec.js +84 -0
  72. package/lib/browser/debug-session-configuration-label-provider.spec.js.map +1 -0
  73. package/lib/browser/debug-session-connection.d.ts +111 -0
  74. package/lib/browser/debug-session-connection.d.ts.map +1 -0
  75. package/lib/browser/debug-session-connection.js +259 -0
  76. package/lib/browser/debug-session-connection.js.map +1 -0
  77. package/lib/browser/debug-session-contribution.d.ts +77 -0
  78. package/lib/browser/debug-session-contribution.d.ts.map +1 -0
  79. package/lib/browser/debug-session-contribution.js +143 -0
  80. package/lib/browser/debug-session-contribution.js.map +1 -0
  81. package/lib/browser/debug-session-manager.d.ts +147 -0
  82. package/lib/browser/debug-session-manager.d.ts.map +1 -0
  83. package/lib/browser/debug-session-manager.js +640 -0
  84. package/lib/browser/debug-session-manager.js.map +1 -0
  85. package/lib/browser/debug-session-options.d.ts +56 -0
  86. package/lib/browser/debug-session-options.d.ts.map +1 -0
  87. package/lib/browser/debug-session-options.js +92 -0
  88. package/lib/browser/debug-session-options.js.map +1 -0
  89. package/lib/browser/debug-session.d.ts +200 -0
  90. package/lib/browser/debug-session.d.ts.map +1 -0
  91. package/lib/browser/debug-session.js +955 -0
  92. package/lib/browser/debug-session.js.map +1 -0
  93. package/lib/browser/debug-tab-bar-decorator.d.ts +17 -0
  94. package/lib/browser/debug-tab-bar-decorator.d.ts.map +1 -0
  95. package/lib/browser/debug-tab-bar-decorator.js +63 -0
  96. package/lib/browser/debug-tab-bar-decorator.js.map +1 -0
  97. package/lib/browser/debug-watch-manager.d.ts +22 -0
  98. package/lib/browser/debug-watch-manager.d.ts.map +1 -0
  99. package/lib/browser/debug-watch-manager.js +86 -0
  100. package/lib/browser/debug-watch-manager.js.map +1 -0
  101. package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts +7 -0
  102. package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts.map +1 -0
  103. package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js +39 -0
  104. package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js.map +1 -0
  105. package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts +20 -0
  106. package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts.map +1 -0
  107. package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js +111 -0
  108. package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js.map +1 -0
  109. package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts +25 -0
  110. package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts.map +1 -0
  111. package/lib/browser/disassembly-view/disassembly-view-contribution.js +124 -0
  112. package/lib/browser/disassembly-view/disassembly-view-contribution.js.map +1 -0
  113. package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts +39 -0
  114. package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts.map +1 -0
  115. package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js +213 -0
  116. package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js.map +1 -0
  117. package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts +16 -0
  118. package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts.map +1 -0
  119. package/lib/browser/disassembly-view/disassembly-view-table-delegate.js +39 -0
  120. package/lib/browser/disassembly-view/disassembly-view-table-delegate.js.map +1 -0
  121. package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts +38 -0
  122. package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts.map +1 -0
  123. package/lib/browser/disassembly-view/disassembly-view-utilities.js +18 -0
  124. package/lib/browser/disassembly-view/disassembly-view-utilities.js.map +1 -0
  125. package/lib/browser/disassembly-view/disassembly-view-widget.d.ts +61 -0
  126. package/lib/browser/disassembly-view/disassembly-view-widget.d.ts.map +1 -0
  127. package/lib/browser/disassembly-view/disassembly-view-widget.js +446 -0
  128. package/lib/browser/disassembly-view/disassembly-view-widget.js.map +1 -0
  129. package/lib/browser/editor/debug-breakpoint-widget.d.ts +58 -0
  130. package/lib/browser/editor/debug-breakpoint-widget.d.ts.map +1 -0
  131. package/lib/browser/editor/debug-breakpoint-widget.js +270 -0
  132. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -0
  133. package/lib/browser/editor/debug-editor-model.d.ts +87 -0
  134. package/lib/browser/editor/debug-editor-model.d.ts.map +1 -0
  135. package/lib/browser/editor/debug-editor-model.js +499 -0
  136. package/lib/browser/editor/debug-editor-model.js.map +1 -0
  137. package/lib/browser/editor/debug-editor-service.d.ts +38 -0
  138. package/lib/browser/editor/debug-editor-service.d.ts.map +1 -0
  139. package/lib/browser/editor/debug-editor-service.js +183 -0
  140. package/lib/browser/editor/debug-editor-service.js.map +1 -0
  141. package/lib/browser/editor/debug-editor.d.ts +4 -0
  142. package/lib/browser/editor/debug-editor.d.ts.map +1 -0
  143. package/lib/browser/editor/debug-editor.js +20 -0
  144. package/lib/browser/editor/debug-editor.js.map +1 -0
  145. package/lib/browser/editor/debug-exception-widget.d.ts +30 -0
  146. package/lib/browser/editor/debug-exception-widget.d.ts.map +1 -0
  147. package/lib/browser/editor/debug-exception-widget.js +107 -0
  148. package/lib/browser/editor/debug-exception-widget.js.map +1 -0
  149. package/lib/browser/editor/debug-expression-provider.d.ts +17 -0
  150. package/lib/browser/editor/debug-expression-provider.d.ts.map +1 -0
  151. package/lib/browser/editor/debug-expression-provider.js +107 -0
  152. package/lib/browser/editor/debug-expression-provider.js.map +1 -0
  153. package/lib/browser/editor/debug-hover-source.d.ts +20 -0
  154. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -0
  155. package/lib/browser/editor/debug-hover-source.js +119 -0
  156. package/lib/browser/editor/debug-hover-source.js.map +1 -0
  157. package/lib/browser/editor/debug-hover-widget.d.ts +61 -0
  158. package/lib/browser/editor/debug-hover-widget.d.ts.map +1 -0
  159. package/lib/browser/editor/debug-hover-widget.js +271 -0
  160. package/lib/browser/editor/debug-hover-widget.js.map +1 -0
  161. package/lib/browser/editor/debug-inline-value-decorator.d.ts +20 -0
  162. package/lib/browser/editor/debug-inline-value-decorator.d.ts.map +1 -0
  163. package/lib/browser/editor/debug-inline-value-decorator.js +326 -0
  164. package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -0
  165. package/lib/browser/model/debug-breakpoint.d.ts +48 -0
  166. package/lib/browser/model/debug-breakpoint.d.ts.map +1 -0
  167. package/lib/browser/model/debug-breakpoint.js +111 -0
  168. package/lib/browser/model/debug-breakpoint.js.map +1 -0
  169. package/lib/browser/model/debug-data-breakpoint.d.ts +16 -0
  170. package/lib/browser/model/debug-data-breakpoint.d.ts.map +1 -0
  171. package/lib/browser/model/debug-data-breakpoint.js +75 -0
  172. package/lib/browser/model/debug-data-breakpoint.js.map +1 -0
  173. package/lib/browser/model/debug-function-breakpoint.d.ts +19 -0
  174. package/lib/browser/model/debug-function-breakpoint.d.ts.map +1 -0
  175. package/lib/browser/model/debug-function-breakpoint.js +93 -0
  176. package/lib/browser/model/debug-function-breakpoint.js.map +1 -0
  177. package/lib/browser/model/debug-instruction-breakpoint.d.ts +15 -0
  178. package/lib/browser/model/debug-instruction-breakpoint.d.ts.map +1 -0
  179. package/lib/browser/model/debug-instruction-breakpoint.js +66 -0
  180. package/lib/browser/model/debug-instruction-breakpoint.js.map +1 -0
  181. package/lib/browser/model/debug-source-breakpoint.d.ts +39 -0
  182. package/lib/browser/model/debug-source-breakpoint.d.ts.map +1 -0
  183. package/lib/browser/model/debug-source-breakpoint.js +219 -0
  184. package/lib/browser/model/debug-source-breakpoint.js.map +1 -0
  185. package/lib/browser/model/debug-source.d.ts +25 -0
  186. package/lib/browser/model/debug-source.d.ts.map +1 -0
  187. package/lib/browser/model/debug-source.js +81 -0
  188. package/lib/browser/model/debug-source.js.map +1 -0
  189. package/lib/browser/model/debug-stack-frame.d.ts +45 -0
  190. package/lib/browser/model/debug-stack-frame.d.ts.map +1 -0
  191. package/lib/browser/model/debug-stack-frame.js +165 -0
  192. package/lib/browser/model/debug-stack-frame.js.map +1 -0
  193. package/lib/browser/model/debug-thread.d.ts +68 -0
  194. package/lib/browser/model/debug-thread.d.ts.map +1 -0
  195. package/lib/browser/model/debug-thread.js +266 -0
  196. package/lib/browser/model/debug-thread.js.map +1 -0
  197. package/lib/browser/view/debug-action.d.ts +18 -0
  198. package/lib/browser/view/debug-action.d.ts.map +1 -0
  199. package/lib/browser/view/debug-action.js +44 -0
  200. package/lib/browser/view/debug-action.js.map +1 -0
  201. package/lib/browser/view/debug-breakpoints-source.d.ts +10 -0
  202. package/lib/browser/view/debug-breakpoints-source.d.ts.map +1 -0
  203. package/lib/browser/view/debug-breakpoints-source.js +58 -0
  204. package/lib/browser/view/debug-breakpoints-source.js.map +1 -0
  205. package/lib/browser/view/debug-breakpoints-widget.d.ts +23 -0
  206. package/lib/browser/view/debug-breakpoints-widget.d.ts.map +1 -0
  207. package/lib/browser/view/debug-breakpoints-widget.js +81 -0
  208. package/lib/browser/view/debug-breakpoints-widget.js.map +1 -0
  209. package/lib/browser/view/debug-configuration-select.d.ts +67 -0
  210. package/lib/browser/view/debug-configuration-select.d.ts.map +1 -0
  211. package/lib/browser/view/debug-configuration-select.js +212 -0
  212. package/lib/browser/view/debug-configuration-select.js.map +1 -0
  213. package/lib/browser/view/debug-configuration-widget.d.ts +33 -0
  214. package/lib/browser/view/debug-configuration-widget.d.ts.map +1 -0
  215. package/lib/browser/view/debug-configuration-widget.js +137 -0
  216. package/lib/browser/view/debug-configuration-widget.js.map +1 -0
  217. package/lib/browser/view/debug-exception-breakpoint.d.ts +15 -0
  218. package/lib/browser/view/debug-exception-breakpoint.d.ts.map +1 -0
  219. package/lib/browser/view/debug-exception-breakpoint.js +62 -0
  220. package/lib/browser/view/debug-exception-breakpoint.js.map +1 -0
  221. package/lib/browser/view/debug-session-widget.d.ts +29 -0
  222. package/lib/browser/view/debug-session-widget.d.ts.map +1 -0
  223. package/lib/browser/view/debug-session-widget.js +127 -0
  224. package/lib/browser/view/debug-session-widget.js.map +1 -0
  225. package/lib/browser/view/debug-stack-frames-source.d.ts +18 -0
  226. package/lib/browser/view/debug-stack-frames-source.d.ts.map +1 -0
  227. package/lib/browser/view/debug-stack-frames-source.js +83 -0
  228. package/lib/browser/view/debug-stack-frames-source.js.map +1 -0
  229. package/lib/browser/view/debug-stack-frames-widget.d.ts +25 -0
  230. package/lib/browser/view/debug-stack-frames-widget.d.ts.map +1 -0
  231. package/lib/browser/view/debug-stack-frames-widget.js +152 -0
  232. package/lib/browser/view/debug-stack-frames-widget.js.map +1 -0
  233. package/lib/browser/view/debug-threads-source.d.ts +9 -0
  234. package/lib/browser/view/debug-threads-source.d.ts.map +1 -0
  235. package/lib/browser/view/debug-threads-source.js +56 -0
  236. package/lib/browser/view/debug-threads-source.js.map +1 -0
  237. package/lib/browser/view/debug-threads-widget.d.ts +27 -0
  238. package/lib/browser/view/debug-threads-widget.d.ts.map +1 -0
  239. package/lib/browser/view/debug-threads-widget.js +139 -0
  240. package/lib/browser/view/debug-threads-widget.js.map +1 -0
  241. package/lib/browser/view/debug-toolbar-widget.d.ts +34 -0
  242. package/lib/browser/view/debug-toolbar-widget.d.ts.map +1 -0
  243. package/lib/browser/view/debug-toolbar-widget.js +139 -0
  244. package/lib/browser/view/debug-toolbar-widget.js.map +1 -0
  245. package/lib/browser/view/debug-variables-source.d.ts +10 -0
  246. package/lib/browser/view/debug-variables-source.d.ts.map +1 -0
  247. package/lib/browser/view/debug-variables-source.js +54 -0
  248. package/lib/browser/view/debug-variables-source.js.map +1 -0
  249. package/lib/browser/view/debug-variables-widget.d.ts +43 -0
  250. package/lib/browser/view/debug-variables-widget.d.ts.map +1 -0
  251. package/lib/browser/view/debug-variables-widget.js +207 -0
  252. package/lib/browser/view/debug-variables-widget.js.map +1 -0
  253. package/lib/browser/view/debug-view-model.d.ts +59 -0
  254. package/lib/browser/view/debug-view-model.d.ts.map +1 -0
  255. package/lib/browser/view/debug-view-model.js +225 -0
  256. package/lib/browser/view/debug-view-model.js.map +1 -0
  257. package/lib/browser/view/debug-watch-expression.d.ts +33 -0
  258. package/lib/browser/view/debug-watch-expression.d.ts.map +1 -0
  259. package/lib/browser/view/debug-watch-expression.js +92 -0
  260. package/lib/browser/view/debug-watch-expression.js.map +1 -0
  261. package/lib/browser/view/debug-watch-source.d.ts +10 -0
  262. package/lib/browser/view/debug-watch-source.d.ts.map +1 -0
  263. package/lib/browser/view/debug-watch-source.js +52 -0
  264. package/lib/browser/view/debug-watch-source.js.map +1 -0
  265. package/lib/browser/view/debug-watch-widget.d.ts +17 -0
  266. package/lib/browser/view/debug-watch-widget.d.ts.map +1 -0
  267. package/lib/browser/view/debug-watch-widget.js +71 -0
  268. package/lib/browser/view/debug-watch-widget.js.map +1 -0
  269. package/lib/browser/view/debug-widget.d.ts +24 -0
  270. package/lib/browser/view/debug-widget.d.ts.map +1 -0
  271. package/lib/browser/view/debug-widget.js +101 -0
  272. package/lib/browser/view/debug-widget.js.map +1 -0
  273. package/lib/common/debug-adapter-contribution-registry.d.ts +60 -0
  274. package/lib/common/debug-adapter-contribution-registry.d.ts.map +1 -0
  275. package/lib/common/debug-adapter-contribution-registry.js +205 -0
  276. package/lib/common/debug-adapter-contribution-registry.js.map +1 -0
  277. package/lib/common/debug-adapter-session.d.ts +19 -0
  278. package/lib/common/debug-adapter-session.d.ts.map +1 -0
  279. package/lib/common/debug-adapter-session.js +79 -0
  280. package/lib/common/debug-adapter-session.js.map +1 -0
  281. package/lib/common/debug-common.d.ts +2 -0
  282. package/lib/common/debug-common.d.ts.map +1 -0
  283. package/lib/common/debug-common.js +21 -0
  284. package/lib/common/debug-common.js.map +1 -0
  285. package/lib/common/debug-compound.d.ts +15 -0
  286. package/lib/common/debug-compound.d.ts.map +1 -0
  287. package/lib/common/debug-compound.js +28 -0
  288. package/lib/common/debug-compound.js.map +1 -0
  289. package/lib/common/debug-configuration.d.ts +77 -0
  290. package/lib/common/debug-configuration.d.ts.map +1 -0
  291. package/lib/common/debug-configuration.js +32 -0
  292. package/lib/common/debug-configuration.js.map +1 -0
  293. package/lib/common/debug-model.d.ts +153 -0
  294. package/lib/common/debug-model.d.ts.map +1 -0
  295. package/lib/common/debug-model.js +36 -0
  296. package/lib/common/debug-model.js.map +1 -0
  297. package/lib/common/debug-preferences.d.ts +19 -0
  298. package/lib/common/debug-preferences.d.ts.map +1 -0
  299. package/lib/common/debug-preferences.js +99 -0
  300. package/lib/common/debug-preferences.js.map +1 -0
  301. package/lib/common/debug-service.d.ts +124 -0
  302. package/lib/common/debug-service.d.ts.map +1 -0
  303. package/lib/common/debug-service.js +67 -0
  304. package/lib/common/debug-service.js.map +1 -0
  305. package/lib/common/debug-uri-utils.d.ts +24 -0
  306. package/lib/common/debug-uri-utils.d.ts.map +1 -0
  307. package/lib/common/debug-uri-utils.js +27 -0
  308. package/lib/common/debug-uri-utils.js.map +1 -0
  309. package/lib/common/inline-debug-adapter.d.ts +19 -0
  310. package/lib/common/inline-debug-adapter.d.ts.map +1 -0
  311. package/lib/common/inline-debug-adapter.js +45 -0
  312. package/lib/common/inline-debug-adapter.js.map +1 -0
  313. package/lib/common/launch-preferences.d.ts +6 -0
  314. package/lib/common/launch-preferences.d.ts.map +1 -0
  315. package/lib/common/launch-preferences.js +37 -0
  316. package/lib/common/launch-preferences.js.map +1 -0
  317. package/lib/node/debug-adapter-factory.d.ts +20 -0
  318. package/lib/node/debug-adapter-factory.d.ts.map +1 -0
  319. package/lib/node/debug-adapter-factory.js +89 -0
  320. package/lib/node/debug-adapter-factory.js.map +1 -0
  321. package/lib/node/debug-adapter-session-manager.d.ts +38 -0
  322. package/lib/node/debug-adapter-session-manager.d.ts.map +1 -0
  323. package/lib/node/debug-adapter-session-manager.js +104 -0
  324. package/lib/node/debug-adapter-session-manager.js.map +1 -0
  325. package/lib/node/debug-backend-module.d.ts +4 -0
  326. package/lib/node/debug-backend-module.d.ts.map +1 -0
  327. package/lib/node/debug-backend-module.js +45 -0
  328. package/lib/node/debug-backend-module.js.map +1 -0
  329. package/lib/node/debug-service-impl.d.ts +31 -0
  330. package/lib/node/debug-service-impl.d.ts.map +1 -0
  331. package/lib/node/debug-service-impl.js +117 -0
  332. package/lib/node/debug-service-impl.js.map +1 -0
  333. package/lib/node/stream-debug-adapter.d.ts +41 -0
  334. package/lib/node/stream-debug-adapter.d.ts.map +1 -0
  335. package/lib/node/stream-debug-adapter.js +113 -0
  336. package/lib/node/stream-debug-adapter.js.map +1 -0
  337. package/package.json +15 -15
  338. package/src/browser/console/debug-console-items.tsx +90 -21
  339. package/src/browser/console/debug-console-session.ts +1 -0
  340. package/src/browser/debug-session-contribution.ts +3 -1
  341. package/src/browser/debug-session-manager.ts +10 -0
  342. package/src/browser/debug-session.tsx +13 -1
  343. package/src/browser/editor/debug-hover-source.tsx +6 -2
  344. package/src/browser/editor/debug-inline-value-decorator.ts +1 -1
  345. package/src/browser/model/debug-stack-frame.tsx +13 -6
  346. package/src/browser/model/debug-thread.tsx +14 -10
  347. package/src/browser/style/index.css +17 -0
  348. package/src/browser/view/debug-variables-source.ts +1 -0
  349. package/src/browser/view/debug-variables-widget.ts +59 -0
  350. package/src/browser/view/debug-view-model.ts +13 -0
  351. package/src/browser/view/debug-watch-expression.tsx +5 -6
  352. package/src/browser/view/debug-watch-source.ts +1 -0
  353. package/src/common/debug-preferences.ts +12 -1
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ /// <reference types="node" />
6
+ import { DisposableCollection } from '@theia/core/lib/common/disposable';
7
+ import { Event } from '@theia/core/lib/common/event';
8
+ import { ChildProcess } from 'child_process';
9
+ import * as stream from 'stream';
10
+ import * as net from 'net';
11
+ import { DebugAdapter } from '../common/debug-model';
12
+ declare abstract class StreamDebugAdapter extends DisposableCollection {
13
+ private fromAdapter;
14
+ private toAdapter;
15
+ private messageReceivedEmitter;
16
+ onMessageReceived: Event<string>;
17
+ private errorEmitter;
18
+ onError: Event<Error>;
19
+ private closeEmitter;
20
+ onClose: Event<void>;
21
+ private static TWO_CRLF;
22
+ private static CONTENT_LENGTH;
23
+ private contentLength;
24
+ private buffer;
25
+ constructor(fromAdapter: stream.Readable, toAdapter: stream.Writable);
26
+ handleClosed(): void;
27
+ send(message: string): void;
28
+ protected handleData(data: Buffer): void;
29
+ }
30
+ export declare class ProcessDebugAdapter extends StreamDebugAdapter implements DebugAdapter {
31
+ protected readonly process: ChildProcess;
32
+ constructor(process: ChildProcess);
33
+ stop(): Promise<void>;
34
+ }
35
+ export declare class SocketDebugAdapter extends StreamDebugAdapter implements DebugAdapter {
36
+ private readonly socket;
37
+ constructor(socket: net.Socket);
38
+ stop(): Promise<void>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=stream-debug-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-debug-adapter.d.ts","sourceRoot":"","sources":["../../src/node/stream-debug-adapter.ts"],"names":[],"mappings":";;;;;AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,uBAAe,kBAAmB,SAAQ,oBAAoB;IAc9C,OAAO,CAAC,WAAW;IAAmB,OAAO,CAAC,SAAS;IAbnE,OAAO,CAAC,sBAAsB,CAAyB;IACvD,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqC;IACrE,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAA2B;IAChD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAA2B;IAG/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAoB;IACjD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAA2B;gBAErB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAU,SAAS,EAAE,MAAM,CAAC,QAAQ;IASpF,YAAY,IAAI,IAAI;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM3B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CA0C3C;AAED,qBAAa,mBAAoB,SAAQ,kBAAmB,YAAW,YAAY;IAC/E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAY;IAK3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B;AAED,qBAAa,kBAAmB,SAAQ,kBAAmB,YAAW,YAAY;IAC9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;IAK9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAKxB"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 Red Hat, Inc. and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SocketDebugAdapter = exports.ProcessDebugAdapter = void 0;
19
+ const disposable_1 = require("@theia/core/lib/common/disposable");
20
+ const event_1 = require("@theia/core/lib/common/event");
21
+ class StreamDebugAdapter extends disposable_1.DisposableCollection {
22
+ constructor(fromAdapter, toAdapter) {
23
+ super();
24
+ this.fromAdapter = fromAdapter;
25
+ this.toAdapter = toAdapter;
26
+ this.messageReceivedEmitter = new event_1.Emitter();
27
+ this.onMessageReceived = this.messageReceivedEmitter.event;
28
+ this.errorEmitter = new event_1.Emitter();
29
+ this.onError = this.errorEmitter.event;
30
+ this.closeEmitter = new event_1.Emitter();
31
+ this.onClose = this.closeEmitter.event;
32
+ this.contentLength = -1;
33
+ this.buffer = Buffer.alloc(0);
34
+ this.fromAdapter.on('data', (data) => this.handleData(data));
35
+ this.fromAdapter.on('close', () => this.handleClosed()); // FIXME pass a proper exit code
36
+ this.fromAdapter.on('error', error => this.errorEmitter.fire(error));
37
+ this.toAdapter.on('error', error => this.errorEmitter.fire(error));
38
+ }
39
+ handleClosed() {
40
+ this.closeEmitter.fire();
41
+ }
42
+ send(message) {
43
+ const msg = `${StreamDebugAdapter.CONTENT_LENGTH}: ${Buffer.byteLength(message, 'utf8')}${StreamDebugAdapter.TWO_CRLF}${message}`;
44
+ this.toAdapter.write(msg, 'utf8');
45
+ }
46
+ handleData(data) {
47
+ this.buffer = Buffer.concat([this.buffer, data]);
48
+ while (true) {
49
+ if (this.contentLength >= 0) {
50
+ if (this.buffer.length >= this.contentLength) {
51
+ const message = this.buffer.toString('utf8', 0, this.contentLength);
52
+ this.buffer = this.buffer.slice(this.contentLength);
53
+ this.contentLength = -1;
54
+ if (message.length > 0) {
55
+ this.messageReceivedEmitter.fire(message);
56
+ }
57
+ continue; // there may be more complete messages to process
58
+ }
59
+ }
60
+ else {
61
+ let idx = this.buffer.indexOf(StreamDebugAdapter.CONTENT_LENGTH);
62
+ if (idx > 0) {
63
+ // log unrecognized output
64
+ const output = this.buffer.slice(0, idx);
65
+ console.log(output.toString('utf-8'));
66
+ this.buffer = this.buffer.slice(idx);
67
+ }
68
+ idx = this.buffer.indexOf(StreamDebugAdapter.TWO_CRLF);
69
+ if (idx !== -1) {
70
+ const header = this.buffer.toString('utf8', 0, idx);
71
+ const lines = header.split('\r\n');
72
+ for (let i = 0; i < lines.length; i++) {
73
+ const pair = lines[i].split(/: +/);
74
+ if (pair[0] === StreamDebugAdapter.CONTENT_LENGTH) {
75
+ this.contentLength = +pair[1];
76
+ }
77
+ }
78
+ this.buffer = this.buffer.slice(idx + StreamDebugAdapter.TWO_CRLF.length);
79
+ continue;
80
+ }
81
+ }
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ // these constants are for the message header, see: https://microsoft.github.io/debug-adapter-protocol/overview#header-part
87
+ StreamDebugAdapter.TWO_CRLF = '\r\n\r\n';
88
+ StreamDebugAdapter.CONTENT_LENGTH = 'Content-Length';
89
+ class ProcessDebugAdapter extends StreamDebugAdapter {
90
+ constructor(process) {
91
+ super(process.stdout, process.stdin);
92
+ this.process = process;
93
+ }
94
+ async stop() {
95
+ var _a;
96
+ this.process.kill();
97
+ (_a = this.process.stdin) === null || _a === void 0 ? void 0 : _a.end();
98
+ }
99
+ }
100
+ exports.ProcessDebugAdapter = ProcessDebugAdapter;
101
+ class SocketDebugAdapter extends StreamDebugAdapter {
102
+ constructor(socket) {
103
+ super(socket, socket);
104
+ this.socket = socket;
105
+ }
106
+ stop() {
107
+ return new Promise(resolve => {
108
+ this.socket.end(() => resolve());
109
+ });
110
+ }
111
+ }
112
+ exports.SocketDebugAdapter = SocketDebugAdapter;
113
+ //# sourceMappingURL=stream-debug-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-debug-adapter.js","sourceRoot":"","sources":["../../src/node/stream-debug-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@theia/debug",
3
- "version": "1.67.0-next.56+d8f18cc386c",
3
+ "version": "1.67.0-next.86+03f92ff1d",
4
4
  "description": "Theia - Debug Extension",
5
5
  "dependencies": {
6
- "@theia/console": "1.67.0-next.56+d8f18cc386c",
7
- "@theia/core": "1.67.0-next.56+d8f18cc386c",
8
- "@theia/editor": "1.67.0-next.56+d8f18cc386c",
9
- "@theia/filesystem": "1.67.0-next.56+d8f18cc386c",
10
- "@theia/markers": "1.67.0-next.56+d8f18cc386c",
11
- "@theia/monaco": "1.67.0-next.56+d8f18cc386c",
6
+ "@theia/console": "1.67.0-next.86+03f92ff1d",
7
+ "@theia/core": "1.67.0-next.86+03f92ff1d",
8
+ "@theia/editor": "1.67.0-next.86+03f92ff1d",
9
+ "@theia/filesystem": "1.67.0-next.86+03f92ff1d",
10
+ "@theia/markers": "1.67.0-next.86+03f92ff1d",
11
+ "@theia/monaco": "1.67.0-next.86+03f92ff1d",
12
12
  "@theia/monaco-editor-core": "1.96.302",
13
- "@theia/output": "1.67.0-next.56+d8f18cc386c",
14
- "@theia/process": "1.67.0-next.56+d8f18cc386c",
15
- "@theia/task": "1.67.0-next.56+d8f18cc386c",
16
- "@theia/terminal": "1.67.0-next.56+d8f18cc386c",
17
- "@theia/test": "1.67.0-next.56+d8f18cc386c",
18
- "@theia/variable-resolver": "1.67.0-next.56+d8f18cc386c",
19
- "@theia/workspace": "1.67.0-next.56+d8f18cc386c",
13
+ "@theia/output": "1.67.0-next.86+03f92ff1d",
14
+ "@theia/process": "1.67.0-next.86+03f92ff1d",
15
+ "@theia/task": "1.67.0-next.86+03f92ff1d",
16
+ "@theia/terminal": "1.67.0-next.86+03f92ff1d",
17
+ "@theia/test": "1.67.0-next.86+03f92ff1d",
18
+ "@theia/variable-resolver": "1.67.0-next.86+03f92ff1d",
19
+ "@theia/workspace": "1.67.0-next.86+03f92ff1d",
20
20
  "@vscode/debugprotocol": "^1.51.0",
21
21
  "fast-deep-equal": "^3.1.3",
22
22
  "jsonc-parser": "^2.2.0",
@@ -64,5 +64,5 @@
64
64
  "nyc": {
65
65
  "extends": "../../configs/nyc.json"
66
66
  },
67
- "gitHead": "d8f18cc386c45a736cd193d42eab02c8f64c6b10"
67
+ "gitHead": "03f92ff1d97dcb199de39b48e60a53535de22808"
68
68
  }
@@ -16,12 +16,12 @@
16
16
 
17
17
  import * as React from '@theia/core/shared/react';
18
18
  import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
19
- import { SingleTextInputDialog } from '@theia/core/lib/browser';
19
+ import { codicon, SingleTextInputDialog } from '@theia/core/lib/browser';
20
20
  import { ConsoleItem, CompositeConsoleItem } from '@theia/console/lib/browser/console-session';
21
21
  import { DebugSession, formatMessage } from '../debug-session';
22
22
  import { Severity } from '@theia/core/lib/common/severity';
23
23
  import * as monaco from '@theia/monaco-editor-core';
24
- import { nls } from '@theia/core';
24
+ import { generateUuid, nls } from '@theia/core';
25
25
 
26
26
  export type DebugSessionProvider = () => DebugSession | undefined;
27
27
 
@@ -34,17 +34,24 @@ export class ExpressionContainer implements CompositeConsoleItem {
34
34
  return this.sessionProvider();
35
35
  }
36
36
 
37
+ readonly id: string | number;
37
38
  protected variablesReference: number;
38
39
  protected namedVariables: number | undefined;
39
40
  protected indexedVariables: number | undefined;
41
+ protected presentationHint: DebugProtocol.VariablePresentationHint | undefined;
40
42
  protected readonly startOfVariables: number;
41
43
 
42
44
  constructor(options: ExpressionContainer.Options) {
43
45
  this.sessionProvider = options.session;
46
+ this.id = options.id ?? generateUuid();
44
47
  this.variablesReference = options.variablesReference || 0;
45
48
  this.namedVariables = options.namedVariables;
46
49
  this.indexedVariables = options.indexedVariables;
47
50
  this.startOfVariables = options.startOfVariables || 0;
51
+ this.presentationHint = options.presentationHint;
52
+ if (this.lazy) {
53
+ (this as CompositeConsoleItem).expandByDefault = () => !this.lazy && !this.session?.autoExpandLazyVariables;
54
+ }
48
55
  }
49
56
 
50
57
  render(): React.ReactNode {
@@ -56,7 +63,31 @@ export class ExpressionContainer implements CompositeConsoleItem {
56
63
  }
57
64
 
58
65
  get hasElements(): boolean {
59
- return this.variablesReference !== undefined;
66
+ return !!this.variablesReference && !this.lazy;
67
+ }
68
+
69
+ get lazy(): boolean {
70
+ return !!this.presentationHint?.lazy;
71
+ }
72
+
73
+ async resolveLazy(): Promise<void> {
74
+ const { session, variablesReference, lazy } = this;
75
+ if (!session || !variablesReference || !lazy) {
76
+ return;
77
+ }
78
+ const response = await session.sendRequest('variables', { variablesReference });
79
+ const { variables } = response.body;
80
+ if (variables.length !== 1) {
81
+ return;
82
+ }
83
+ this.handleResolvedLazy(variables[0]);
84
+ }
85
+
86
+ protected handleResolvedLazy(resolved: DebugProtocol.Variable): void {
87
+ this.variablesReference = resolved.variablesReference;
88
+ this.namedVariables = resolved.namedVariables;
89
+ this.indexedVariables = resolved.indexedVariables;
90
+ this.presentationHint = resolved.presentationHint;
60
91
  }
61
92
 
62
93
  protected elements: Promise<ExpressionContainer[]> | undefined;
@@ -85,13 +116,15 @@ export class ExpressionContainer implements CompositeConsoleItem {
85
116
  const start = this.startOfVariables + i * chunkSize;
86
117
  const count = Math.min(chunkSize, this.indexedVariables - i * chunkSize);
87
118
  const { variablesReference } = this;
119
+ const name = `[${start}..${start + count - 1}]`;
88
120
  result.push(new DebugVirtualVariable({
89
121
  session: this.sessionProvider,
122
+ id: `${this.id}:${name}`,
90
123
  variablesReference,
91
124
  namedVariables: 0,
92
125
  indexedVariables: count,
93
126
  startOfVariables: start,
94
- name: `[${start}..${start + count - 1}]`
127
+ name
95
128
  }));
96
129
  }
97
130
  return result;
@@ -105,14 +138,23 @@ export class ExpressionContainer implements CompositeConsoleItem {
105
138
  protected fetch(result: ConsoleItem[], filter: 'indexed', start: number, count?: number): Promise<void>;
106
139
  protected async fetch(result: ConsoleItem[], filter: 'indexed' | 'named', start?: number, count?: number): Promise<void> {
107
140
  try {
108
- const { variablesReference } = this;
109
- const response = await this.session!.sendRequest('variables', { variablesReference, filter, start, count });
110
- const { variables } = response.body;
111
- const names = new Set<string>();
112
- for (const variable of variables) {
113
- if (!names.has(variable.name)) {
114
- result.push(new DebugVariable(this.sessionProvider, variable, this));
115
- names.add(variable.name);
141
+ const { session } = this;
142
+ if (session) {
143
+ const { variablesReference } = this;
144
+ const response = await session.sendRequest('variables', { variablesReference, filter, start, count });
145
+ const { variables } = response.body;
146
+ const names = new Set<string>();
147
+ const debugVariables: DebugVariable[] = [];
148
+ for (const variable of variables) {
149
+ if (!names.has(variable.name)) {
150
+ const v = new DebugVariable(this.sessionProvider, variable, this);
151
+ debugVariables.push(v);
152
+ result.push(v);
153
+ names.add(variable.name);
154
+ }
155
+ }
156
+ if (session.autoExpandLazyVariables) {
157
+ await Promise.all(debugVariables.map(v => v.lazy && v.resolveLazy()));
116
158
  }
117
159
  }
118
160
  } catch (e) {
@@ -128,10 +170,12 @@ export class ExpressionContainer implements CompositeConsoleItem {
128
170
  export namespace ExpressionContainer {
129
171
  export interface Options {
130
172
  session: DebugSessionProvider,
173
+ id?: string | number,
131
174
  variablesReference?: number
132
175
  namedVariables?: number
133
176
  indexedVariables?: number
134
177
  startOfVariables?: number
178
+ presentationHint?: DebugProtocol.VariablePresentationHint
135
179
  }
136
180
  }
137
181
 
@@ -147,9 +191,11 @@ export class DebugVariable extends ExpressionContainer {
147
191
  ) {
148
192
  super({
149
193
  session,
194
+ id: `${parent.id}:${variable.name}`,
150
195
  variablesReference: variable.variablesReference,
151
196
  namedVariables: variable.namedVariables,
152
- indexedVariables: variable.indexedVariables
197
+ indexedVariables: variable.indexedVariables,
198
+ presentationHint: variable.presentationHint
153
199
  });
154
200
  }
155
201
 
@@ -169,17 +215,20 @@ export class DebugVariable extends ExpressionContainer {
169
215
  }
170
216
 
171
217
  get readOnly(): boolean {
172
- return this.variable.presentationHint?.attributes?.includes('readOnly') ?? false;
218
+ return this.presentationHint?.attributes?.includes('readOnly') || this.lazy;
173
219
  }
174
220
 
175
221
  override render(): React.ReactNode {
176
- const { type, value, name } = this;
222
+ const { type, value, name, lazy } = this;
177
223
  return <div className={this.variableClassName}>
178
- <span title={type || name} className='name' ref={this.setNameRef}>{name}{!!value && ': '}</span>
179
- <span title={value} ref={this.setValueRef}>{value}</span>
224
+ <span title={type || name} className='name' ref={this.setNameRef}>{name}{(value || lazy) && ': '}</span>
225
+ {lazy && <span title={nls.localizeByDefault('Click to expand')} className={codicon('eye') + ' lazy-button'} onClick={this.handleLazyButtonClick} />}
226
+ <span title={value} className='value' ref={this.setValueRef}>{value}</span>
180
227
  </div>;
181
228
  }
182
229
 
230
+ private readonly handleLazyButtonClick = () => this.resolveLazy();
231
+
183
232
  protected get variableClassName(): string {
184
233
  const { type, value } = this;
185
234
  const classNames = ['theia-debug-console-variable'];
@@ -195,6 +244,13 @@ export class DebugVariable extends ExpressionContainer {
195
244
  return classNames.join(' ');
196
245
  }
197
246
 
247
+ protected override handleResolvedLazy(resolved: DebugProtocol.Variable): void {
248
+ this._value = resolved.value;
249
+ this._type = resolved.type || this._type;
250
+ super.handleResolvedLazy(resolved);
251
+ this.session?.['onDidResolveLazyVariableEmitter'].fire(this);
252
+ }
253
+
198
254
  get supportSetVariable(): boolean {
199
255
  return !!this.session && !!this.session.capabilities.supportsSetVariable;
200
256
  }
@@ -312,9 +368,10 @@ export class ExpressionItem extends ExpressionContainer {
312
368
 
313
369
  constructor(
314
370
  protected _expression: string,
315
- session: DebugSessionProvider
371
+ session: DebugSessionProvider,
372
+ id?: string | number
316
373
  ) {
317
- super({ session });
374
+ super({ session, id });
318
375
  }
319
376
 
320
377
  get expression(): string {
@@ -333,7 +390,7 @@ export class ExpressionItem extends ExpressionContainer {
333
390
  </div>;
334
391
  }
335
392
 
336
- async evaluate(context: string = 'repl'): Promise<void> {
393
+ async evaluate(context: string = 'repl', resolveLazy = true): Promise<void> {
337
394
  const session = this.session;
338
395
  if (!session?.currentFrame) {
339
396
  this.setResult(undefined, ExpressionItem.notAvailable);
@@ -343,6 +400,9 @@ export class ExpressionItem extends ExpressionContainer {
343
400
  try {
344
401
  const body = await session.evaluate(this._expression, context);
345
402
  this.setResult(body);
403
+ if (this.lazy && resolveLazy) {
404
+ await this.resolveLazy();
405
+ }
346
406
  } catch (err) {
347
407
  this.setResult(undefined, err.message);
348
408
  }
@@ -356,6 +416,7 @@ export class ExpressionItem extends ExpressionContainer {
356
416
  this.variablesReference = body.variablesReference;
357
417
  this.namedVariables = body.namedVariables;
358
418
  this.indexedVariables = body.indexedVariables;
419
+ this.presentationHint = body.presentationHint;
359
420
  this.severity = Severity.Log;
360
421
  } else {
361
422
  this._value = error;
@@ -364,21 +425,29 @@ export class ExpressionItem extends ExpressionContainer {
364
425
  this.variablesReference = 0;
365
426
  this.namedVariables = undefined;
366
427
  this.indexedVariables = undefined;
428
+ this.presentationHint = undefined;
367
429
  this.severity = Severity.Error;
368
430
  }
369
431
  this.elements = undefined;
370
432
  }
371
433
 
434
+ protected override handleResolvedLazy(resolved: DebugProtocol.Variable): void {
435
+ this._value = resolved.value;
436
+ this._type = resolved.type || this._type;
437
+ super.handleResolvedLazy(resolved);
438
+ }
372
439
  }
373
440
 
374
441
  export class DebugScope extends ExpressionContainer {
375
442
 
376
443
  constructor(
377
444
  protected readonly raw: DebugProtocol.Scope,
378
- session: DebugSessionProvider
445
+ session: DebugSessionProvider,
446
+ id: number
379
447
  ) {
380
448
  super({
381
449
  session,
450
+ id: `${raw.name}:${id}`,
382
451
  variablesReference: raw.variablesReference,
383
452
  namedVariables: raw.namedVariables,
384
453
  indexedVariables: raw.indexedVariables
@@ -85,6 +85,7 @@ export class DebugConsoleSession extends ConsoleSession {
85
85
  triggerCharacters: ['.'],
86
86
  provideCompletionItems: (model, position) => this.completions(model, position),
87
87
  }));
88
+ this.toDispose.push(this.sessionManager.onDidResolveLazyVariable(() => this.fireDidChange()));
88
89
  }
89
90
 
90
91
  getElements(): IterableIterator<ConsoleItem> {
@@ -146,7 +146,9 @@ export class DefaultDebugSessionFactory implements DebugSessionFactory {
146
146
  this.messages,
147
147
  this.fileService,
148
148
  this.debugContributionProvider,
149
- this.workspaceService);
149
+ this.workspaceService,
150
+ this.debugPreferences
151
+ );
150
152
  }
151
153
 
152
154
  protected getTraceOutputChannel(): OutputChannel | undefined {
@@ -39,6 +39,7 @@ import * as monaco from '@theia/monaco-editor-core';
39
39
  import { DebugInstructionBreakpoint } from './model/debug-instruction-breakpoint';
40
40
  import { DebugSessionConfigurationLabelProvider } from './debug-session-configuration-label-provider';
41
41
  import { DebugDataBreakpoint } from './model/debug-data-breakpoint';
42
+ import { DebugVariable } from './console/debug-console-items';
42
43
 
43
44
  export interface WillStartDebugSession extends WaitUntilEvent {
44
45
  }
@@ -57,6 +58,11 @@ export interface DidChangeBreakpointsEvent {
57
58
  uri: URI
58
59
  }
59
60
 
61
+ export interface DidResolveLazyVariableEvent {
62
+ readonly session: DebugSession
63
+ readonly variable: DebugVariable
64
+ }
65
+
60
66
  export interface DebugSessionCustomEvent {
61
67
  readonly body?: any // eslint-disable-line @typescript-eslint/no-explicit-any
62
68
  readonly event: string
@@ -112,6 +118,9 @@ export class DebugSessionManager {
112
118
  this.onDidChangeEmitter.fire(current);
113
119
  }
114
120
 
121
+ protected readonly onDidResolveLazyVariableEmitter = new Emitter<DidResolveLazyVariableEvent>();
122
+ readonly onDidResolveLazyVariable: Event<DidResolveLazyVariableEvent> = this.onDidResolveLazyVariableEmitter.event;
123
+
115
124
  @inject(DebugSessionFactory)
116
125
  protected readonly debugSessionFactory: DebugSessionFactory;
117
126
 
@@ -544,6 +553,7 @@ export class DebugSessionManager {
544
553
  }
545
554
  this.fireDidChange(current);
546
555
  }));
556
+ this.disposeOnCurrentSessionChanged.push(current.onDidResolveLazyVariable(variable => this.onDidResolveLazyVariableEmitter.fire({ session: current, variable })));
547
557
  this.disposeOnCurrentSessionChanged.push(current.onDidFocusStackFrame(frame => this.onDidFocusStackFrameEmitter.fire(frame)));
548
558
  this.disposeOnCurrentSessionChanged.push(current.onDidFocusThread(thread => this.onDidFocusThreadEmitter.fire(thread)));
549
559
  const { currentThread } = current;
@@ -25,7 +25,7 @@ import { EditorManager } from '@theia/editor/lib/browser';
25
25
  import { CompositeTreeElement } from '@theia/core/lib/browser/source-tree';
26
26
  import { DebugSessionConnection, DebugRequestTypes, DebugEventTypes } from './debug-session-connection';
27
27
  import { DebugThread, StoppedDetails, DebugThreadData } from './model/debug-thread';
28
- import { DebugScope } from './console/debug-console-items';
28
+ import { DebugScope, DebugVariable } from './console/debug-console-items';
29
29
  import { DebugStackFrame } from './model/debug-stack-frame';
30
30
  import { DebugSource } from './model/debug-source';
31
31
  import { DebugBreakpoint, DebugBreakpointOptions } from './model/debug-breakpoint';
@@ -47,6 +47,7 @@ import { nls } from '@theia/core';
47
47
  import { TestService, TestServices } from '@theia/test/lib/browser/test-service';
48
48
  import { DebugSessionManager } from './debug-session-manager';
49
49
  import { DebugDataBreakpoint } from './model/debug-data-breakpoint';
50
+ import { DebugPreferences } from '../common/debug-preferences';
50
51
 
51
52
  export enum DebugState {
52
53
  Inactive,
@@ -103,6 +104,9 @@ export class DebugSession implements CompositeTreeElement {
103
104
  this.onDidChangeBreakpointsEmitter.fire(uri);
104
105
  }
105
106
 
107
+ protected readonly onDidResolveLazyVariableEmitter = new Emitter<DebugVariable>();
108
+ readonly onDidResolveLazyVariable: Event<DebugVariable> = this.onDidResolveLazyVariableEmitter.event;
109
+
106
110
  protected readonly childSessions = new Map<string, DebugSession>();
107
111
  protected readonly toDispose = new DisposableCollection();
108
112
 
@@ -124,6 +128,7 @@ export class DebugSession implements CompositeTreeElement {
124
128
  protected readonly fileService: FileService,
125
129
  protected readonly debugContributionProvider: ContributionProvider<DebugContribution>,
126
130
  protected readonly workspaceService: WorkspaceService,
131
+ protected readonly debugPreferences: DebugPreferences,
127
132
  /**
128
133
  * Number of millis after a `stop` request times out. It's 5 seconds by default.
129
134
  */
@@ -157,7 +162,10 @@ export class DebugSession implements CompositeTreeElement {
157
162
  this.connection.onDidClose(() => this.toDispose.dispose());
158
163
  this.toDispose.pushAll([
159
164
  this.onDidChangeEmitter,
165
+ this.onDidFocusStackFrameEmitter,
166
+ this.onDidFocusThreadEmitter,
160
167
  this.onDidChangeBreakpointsEmitter,
168
+ this.onDidResolveLazyVariableEmitter,
161
169
  Disposable.create(() => {
162
170
  this.clearBreakpoints();
163
171
  this.doUpdateThreads([]);
@@ -186,6 +194,10 @@ export class DebugSession implements CompositeTreeElement {
186
194
  return this._capabilities;
187
195
  }
188
196
 
197
+ get autoExpandLazyVariables(): boolean {
198
+ return this.debugPreferences['debug.autoExpandLazyVariables'] === 'on';
199
+ }
200
+
189
201
  protected readonly sources = new Map<string, DebugSource>();
190
202
  getSource(raw: DebugProtocol.Source): DebugSource {
191
203
  const uri = DebugSource.toUri(raw).toString();
@@ -18,7 +18,7 @@ import * as React from '@theia/core/shared/react';
18
18
  import { TreeSource, TreeElement } from '@theia/core/lib/browser/source-tree';
19
19
  import { ExpressionContainer, ExpressionItem, DebugVariable } from '../console/debug-console-items';
20
20
  import { DebugSessionManager } from '../debug-session-manager';
21
- import { injectable, inject } from '@theia/core/shared/inversify';
21
+ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
22
22
 
23
23
  @injectable()
24
24
  export class DebugHoverSource extends TreeSource {
@@ -36,6 +36,11 @@ export class DebugHoverSource extends TreeSource {
36
36
  return this.elements[Symbol.iterator]();
37
37
  }
38
38
 
39
+ @postConstruct()
40
+ init(): void {
41
+ this.toDispose.push(this.sessions.onDidResolveLazyVariable(() => this.fireDidChange()));
42
+ }
43
+
39
44
  protected renderTitle(element: ExpressionItem | DebugVariable): React.ReactNode {
40
45
  return <div className='theia-debug-hover-title' title={element.value}>{element.value}</div>;
41
46
  }
@@ -101,5 +106,4 @@ export class DebugHoverSource extends TreeSource {
101
106
  return this.doFindVariable(variables[0], namesToFind.slice(1));
102
107
  }
103
108
  }
104
-
105
109
  }
@@ -194,7 +194,7 @@ export class DebugInlineValueDecorator implements FrontendApplicationContributio
194
194
  }
195
195
  if (expr) {
196
196
  const expression = new ExpressionItem(expr, () => stackFrame.thread.session);
197
- await expression.evaluate('watch');
197
+ await expression.evaluate('watch', false);
198
198
  if (expression.available) {
199
199
  text = this.formatInlineValue(expr, expression.value);
200
200
  }