@opensumi/ide-debug 2.21.7-rc-1670229502.0 → 2.21.7

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 (323) hide show
  1. package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
  2. package/lib/browser/breakpoint/breakpoint-marker.d.ts +1 -1
  3. package/lib/browser/breakpoint/breakpoint-marker.d.ts.map +1 -1
  4. package/lib/browser/breakpoint/breakpoint-marker.js +2 -3
  5. package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -1
  6. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts +1 -1
  7. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts.map +1 -1
  8. package/lib/browser/contextkeys/debug-contextkey.service.js.map +1 -1
  9. package/lib/browser/debug-configuration-manager.d.ts +2 -2
  10. package/lib/browser/debug-configuration-manager.d.ts.map +1 -1
  11. package/lib/browser/debug-configuration-manager.js.map +1 -1
  12. package/lib/browser/debug-contribution.d.ts +147 -2
  13. package/lib/browser/debug-contribution.d.ts.map +1 -1
  14. package/lib/browser/debug-contribution.js +197 -48
  15. package/lib/browser/debug-contribution.js.map +1 -1
  16. package/lib/browser/debug-exception-widget.js.map +1 -1
  17. package/lib/browser/debug-link-detector.js.map +1 -1
  18. package/lib/browser/debug-memory.js +4 -4
  19. package/lib/browser/debug-memory.js.map +1 -1
  20. package/lib/browser/debug-preferences.d.ts +1 -1
  21. package/lib/browser/debug-preferences.d.ts.map +1 -1
  22. package/lib/browser/debug-progress.service.js.map +1 -1
  23. package/lib/browser/debug-schema-updater.js.map +1 -1
  24. package/lib/browser/debug-service.js.map +1 -1
  25. package/lib/browser/debug-session-connection.d.ts +3 -2
  26. package/lib/browser/debug-session-connection.d.ts.map +1 -1
  27. package/lib/browser/debug-session-connection.js.map +1 -1
  28. package/lib/browser/debug-session-contribution.js.map +1 -1
  29. package/lib/browser/debug-session-manager.d.ts +4 -3
  30. package/lib/browser/debug-session-manager.d.ts.map +1 -1
  31. package/lib/browser/debug-session-manager.js +7 -6
  32. package/lib/browser/debug-session-manager.js.map +1 -1
  33. package/lib/browser/debug-session.d.ts +4 -3
  34. package/lib/browser/debug-session.d.ts.map +1 -1
  35. package/lib/browser/debug-session.js +11 -15
  36. package/lib/browser/debug-session.js.map +1 -1
  37. package/lib/browser/debugUtils.js +4 -4
  38. package/lib/browser/debugUtils.js.map +1 -1
  39. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
  40. package/lib/browser/editor/debug-breakpoint-zone-widget.js +7 -7
  41. package/lib/browser/editor/debug-breakpoint-zone-widget.js.map +1 -1
  42. package/lib/browser/editor/debug-editor-contribution.d.ts +2 -2
  43. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
  44. package/lib/browser/editor/debug-editor-contribution.js +4 -3
  45. package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
  46. package/lib/browser/editor/debug-expression-provider.js.map +1 -1
  47. package/lib/browser/editor/debug-hover-model.js.map +1 -1
  48. package/lib/browser/editor/debug-hover-source.d.ts +1 -1
  49. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -1
  50. package/lib/browser/editor/debug-hover-source.js.map +1 -1
  51. package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -1
  52. package/lib/browser/editor/debug-hover-widget.js.map +1 -1
  53. package/lib/browser/editor/debug-model-manager.d.ts +9 -2
  54. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -1
  55. package/lib/browser/editor/debug-model-manager.js +15 -8
  56. package/lib/browser/editor/debug-model-manager.js.map +1 -1
  57. package/lib/browser/editor/debug-model.d.ts +2 -2
  58. package/lib/browser/editor/debug-model.d.ts.map +1 -1
  59. package/lib/browser/editor/debug-model.js +27 -27
  60. package/lib/browser/editor/debug-model.js.map +1 -1
  61. package/lib/browser/editor/debug-run-to-cursor.service.js +7 -7
  62. package/lib/browser/editor/debug-run-to-cursor.service.js.map +1 -1
  63. package/lib/browser/editor/evaluatable-expression.js.map +1 -1
  64. package/lib/browser/index.d.ts +14 -0
  65. package/lib/browser/index.d.ts.map +1 -1
  66. package/lib/browser/index.js +24 -8
  67. package/lib/browser/index.js.map +1 -1
  68. package/lib/browser/markers/marker-manager.js.map +1 -1
  69. package/lib/browser/model/debug-source.d.ts +3 -3
  70. package/lib/browser/model/debug-source.d.ts.map +1 -1
  71. package/lib/browser/model/debug-source.js.map +1 -1
  72. package/lib/browser/model/debug-thread.d.ts +1 -1
  73. package/lib/browser/model/debug-thread.d.ts.map +1 -1
  74. package/lib/browser/model/debug-watch.d.ts.map +1 -1
  75. package/lib/browser/model/debug-watch.js +2 -1
  76. package/lib/browser/model/debug-watch.js.map +1 -1
  77. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  78. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  79. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  80. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  81. package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -1
  82. package/lib/browser/tree/debug-console-tree-node.define.js +6 -6
  83. package/lib/browser/tree/debug-console-tree-node.define.js.map +1 -1
  84. package/lib/browser/tree/debug-tree-node.define.js +18 -18
  85. package/lib/browser/tree/debug-tree-node.define.js.map +1 -1
  86. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +3 -3
  87. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
  88. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  89. package/lib/browser/view/configuration/debug-configuration.service.d.ts +2 -1
  90. package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -1
  91. package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -1
  92. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  93. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  94. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  95. package/lib/browser/view/configuration/debug-toolbar.service.js.map +1 -1
  96. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  97. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  98. package/lib/browser/view/console/debug-console-filter.model.js.map +1 -1
  99. package/lib/browser/view/console/debug-console-filter.service.js.map +1 -1
  100. package/lib/browser/view/console/debug-console-model.js.map +1 -1
  101. package/lib/browser/view/console/debug-console-session.d.ts +2 -3
  102. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -1
  103. package/lib/browser/view/console/debug-console-session.js.map +1 -1
  104. package/lib/browser/view/console/debug-console-tree.model.service.d.ts +1 -1
  105. package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -1
  106. package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -1
  107. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -1
  108. package/lib/browser/view/console/debug-console.contribution.js +23 -21
  109. package/lib/browser/view/console/debug-console.contribution.js.map +1 -1
  110. package/lib/browser/view/console/debug-console.module.less +1 -2
  111. package/lib/browser/view/console/debug-console.service.js +7 -7
  112. package/lib/browser/view/console/debug-console.service.js.map +1 -1
  113. package/lib/browser/view/console/debug-console.view.d.ts +1 -1
  114. package/lib/browser/view/console/debug-console.view.d.ts.map +1 -1
  115. package/lib/browser/view/console/debug-console.view.js +2 -2
  116. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  117. package/lib/browser/view/debug-view-model.js.map +1 -1
  118. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
  119. package/lib/browser/view/frames/debug-call-stack-session.view.js +16 -13
  120. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
  121. package/lib/browser/view/frames/debug-call-stack.contribution.js +5 -5
  122. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -1
  123. package/lib/browser/view/frames/debug-call-stack.service.js.map +1 -1
  124. package/lib/browser/view/variables/debug-variables-model.js.map +1 -1
  125. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts +1 -1
  126. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -1
  127. package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -1
  128. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -1
  129. package/lib/browser/view/variables/debug-variables.contribution.js +13 -12
  130. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -1
  131. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  132. package/lib/browser/view/variables/debug-variables.view.d.ts +1 -1
  133. package/lib/browser/view/variables/debug-variables.view.d.ts.map +1 -1
  134. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  135. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  136. package/lib/browser/view/watch/debug-watch-model.js.map +1 -1
  137. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts +2 -2
  138. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -1
  139. package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -1
  140. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -1
  141. package/lib/browser/view/watch/debug-watch.contribution.js +19 -21
  142. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -1
  143. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  144. package/lib/browser/view/watch/debug-watch.view.d.ts +1 -1
  145. package/lib/browser/view/watch/debug-watch.view.d.ts.map +1 -1
  146. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  147. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  148. package/lib/common/debug-breakpoint.d.ts +3 -3
  149. package/lib/common/debug-breakpoint.d.ts.map +1 -1
  150. package/lib/common/debug-configuration.d.ts +1 -1
  151. package/lib/common/debug-configuration.d.ts.map +1 -1
  152. package/lib/common/debug-editor.d.ts +1 -1
  153. package/lib/common/debug-editor.d.ts.map +1 -1
  154. package/lib/common/debug-model.d.ts +4 -19
  155. package/lib/common/debug-model.d.ts.map +1 -1
  156. package/lib/common/debug-model.js +6 -14
  157. package/lib/common/debug-model.js.map +1 -1
  158. package/lib/common/debug-service.d.ts +1 -1
  159. package/lib/common/debug-service.d.ts.map +1 -1
  160. package/lib/common/debug-session.d.ts +1 -1
  161. package/lib/common/debug-session.d.ts.map +1 -1
  162. package/lib/common/index.d.ts +0 -2
  163. package/lib/common/index.d.ts.map +1 -1
  164. package/lib/common/index.js +0 -2
  165. package/lib/common/index.js.map +1 -1
  166. package/lib/common/inline-values.d.ts +1 -1
  167. package/lib/common/inline-values.d.ts.map +1 -1
  168. package/lib/common/terminal.js +10 -10
  169. package/lib/common/terminal.js.map +1 -1
  170. package/package.json +25 -24
  171. package/lib/common/commands.d.ts +0 -46
  172. package/lib/common/commands.d.ts.map +0 -1
  173. package/lib/common/commands.js +0 -149
  174. package/lib/common/commands.js.map +0 -1
  175. package/lib/common/debug-console.d.ts +0 -18
  176. package/lib/common/debug-console.d.ts.map +0 -1
  177. package/lib/common/debug-console.js +0 -5
  178. package/lib/common/debug-console.js.map +0 -1
  179. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  180. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  181. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  182. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  183. package/src/browser/assets/breakpoint-hint.svg +0 -4
  184. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  185. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  186. package/src/browser/assets/breakpoint-log.svg +0 -4
  187. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  188. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  189. package/src/browser/assets/breakpoint.svg +0 -4
  190. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  191. package/src/browser/assets/breakpoints-activate.svg +0 -4
  192. package/src/browser/assets/configure-inverse.svg +0 -4
  193. package/src/browser/assets/configure.svg +0 -4
  194. package/src/browser/assets/continue-inverse.svg +0 -4
  195. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  196. package/src/browser/assets/current-arrow.svg +0 -4
  197. package/src/browser/assets/remove-all-inverse.svg +0 -4
  198. package/src/browser/assets/remove-all.svg +0 -4
  199. package/src/browser/assets/repl-inverse.svg +0 -4
  200. package/src/browser/assets/repl.svg +0 -4
  201. package/src/browser/assets/restart-inverse.svg +0 -4
  202. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  203. package/src/browser/assets/stackframe-arrow.svg +0 -4
  204. package/src/browser/assets/start-inverse.svg +0 -4
  205. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  206. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  207. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  208. package/src/browser/breakpoint/index.ts +0 -3
  209. package/src/browser/components/debug-action/index.module.less +0 -73
  210. package/src/browser/components/debug-action/index.tsx +0 -40
  211. package/src/browser/components/debug-exception-widget.less +0 -42
  212. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  213. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  214. package/src/browser/components/index.ts +0 -1
  215. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  216. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  217. package/src/browser/contextkeys/index.ts +0 -1
  218. package/src/browser/debug-ansi-handle.ts +0 -521
  219. package/src/browser/debug-configuration-manager.ts +0 -513
  220. package/src/browser/debug-configuration-model.ts +0 -66
  221. package/src/browser/debug-contribution.ts +0 -757
  222. package/src/browser/debug-exception-widget.tsx +0 -89
  223. package/src/browser/debug-link-detector.ts +0 -234
  224. package/src/browser/debug-memory.ts +0 -220
  225. package/src/browser/debug-preferences.ts +0 -70
  226. package/src/browser/debug-progress.service.ts +0 -122
  227. package/src/browser/debug-schema-updater.ts +0 -67
  228. package/src/browser/debug-service.ts +0 -42
  229. package/src/browser/debug-session-connection.ts +0 -331
  230. package/src/browser/debug-session-contribution.ts +0 -57
  231. package/src/browser/debug-session-manager.ts +0 -622
  232. package/src/browser/debug-session.ts +0 -1181
  233. package/src/browser/debug-style.less +0 -128
  234. package/src/browser/debugUtils.ts +0 -110
  235. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  236. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  237. package/src/browser/editor/debug-breakpoint.module.less +0 -31
  238. package/src/browser/editor/debug-editor-contribution.ts +0 -589
  239. package/src/browser/editor/debug-expression-provider.ts +0 -101
  240. package/src/browser/editor/debug-hover-model.ts +0 -38
  241. package/src/browser/editor/debug-hover-source.ts +0 -107
  242. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  243. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  244. package/src/browser/editor/debug-hover.module.less +0 -29
  245. package/src/browser/editor/debug-hover.view.tsx +0 -147
  246. package/src/browser/editor/debug-model-manager.ts +0 -219
  247. package/src/browser/editor/debug-model.ts +0 -853
  248. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  249. package/src/browser/editor/debug-styles.ts +0 -66
  250. package/src/browser/editor/evaluatable-expression.ts +0 -47
  251. package/src/browser/editor/index.ts +0 -6
  252. package/src/browser/index.ts +0 -119
  253. package/src/browser/markers/index.ts +0 -2
  254. package/src/browser/markers/marker-manager.ts +0 -201
  255. package/src/browser/markers/marker.ts +0 -20
  256. package/src/browser/model/debug-source.ts +0 -144
  257. package/src/browser/model/debug-stack-frame.ts +0 -111
  258. package/src/browser/model/debug-thread.ts +0 -186
  259. package/src/browser/model/debug-watch.ts +0 -129
  260. package/src/browser/model/index.ts +0 -4
  261. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  262. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  263. package/src/browser/preferences/launch-preferences.ts +0 -16
  264. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  265. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  266. package/src/browser/tree/index.ts +0 -2
  267. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  268. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  269. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  270. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  271. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  272. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  273. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  274. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  275. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  276. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  277. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  278. package/src/browser/view/console/debug-console-model.ts +0 -48
  279. package/src/browser/view/console/debug-console-session.ts +0 -165
  280. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  281. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  282. package/src/browser/view/console/debug-console.contribution.ts +0 -179
  283. package/src/browser/view/console/debug-console.module.less +0 -373
  284. package/src/browser/view/console/debug-console.service.ts +0 -433
  285. package/src/browser/view/console/debug-console.view.tsx +0 -500
  286. package/src/browser/view/debug-view-model.ts +0 -182
  287. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -224
  288. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -237
  289. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -93
  290. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  291. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  292. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  293. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  294. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  295. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  296. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  297. package/src/browser/view/variables/debug-variables.contribution.ts +0 -243
  298. package/src/browser/view/variables/debug-variables.module.less +0 -149
  299. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  300. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  301. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  302. package/src/browser/view/watch/debug-watch.contribution.ts +0 -170
  303. package/src/browser/view/watch/debug-watch.module.less +0 -189
  304. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  305. package/src/common/commands.ts +0 -146
  306. package/src/common/constants.ts +0 -81
  307. package/src/common/debug-breakpoint.ts +0 -43
  308. package/src/common/debug-configuration.ts +0 -68
  309. package/src/common/debug-console.ts +0 -20
  310. package/src/common/debug-editor.ts +0 -4
  311. package/src/common/debug-hover.ts +0 -31
  312. package/src/common/debug-model.ts +0 -272
  313. package/src/common/debug-progress.ts +0 -8
  314. package/src/common/debug-schema-updater.ts +0 -1
  315. package/src/common/debug-service.ts +0 -176
  316. package/src/common/debug-session-options.ts +0 -19
  317. package/src/common/debug-session.ts +0 -200
  318. package/src/common/evaluatable-expression.ts +0 -43
  319. package/src/common/index.ts +0 -16
  320. package/src/common/inline-values.ts +0 -77
  321. package/src/common/terminal.ts +0 -163
  322. package/src/common/types.ts +0 -86
  323. package/src/index.ts +0 -1
@@ -1,89 +0,0 @@
1
- import React, { useRef } from 'react';
2
- import ReactDOM from 'react-dom';
3
-
4
- import { Injectable, Autowired } from '@opensumi/di';
5
- import { AppConfig, ConfigProvider, useInjectable } from '@opensumi/ide-core-browser';
6
- import { formatLocalize, localize } from '@opensumi/ide-core-common';
7
- import { ICodeEditor } from '@opensumi/ide-monaco';
8
- import { ZoneWidget } from '@opensumi/ide-monaco-enhance';
9
- import { EditorOption } from '@opensumi/monaco-editor-core/esm/vs/editor/common/config/editorOptions';
10
- import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
11
-
12
- import { IDebugExceptionInfo } from '../common';
13
-
14
- import { LinkDetector } from './debug-link-detector';
15
-
16
- import './components/debug-exception-widget.less';
17
-
18
- function ExceptionInfoContainer({ info, layout }: { info: IDebugExceptionInfo; layout: () => void }) {
19
- const linkDetector = useInjectable<LinkDetector>(LinkDetector);
20
- const stackTraceRef = useRef<HTMLDivElement | null>(null);
21
-
22
- React.useEffect(() => {
23
- if (stackTraceRef.current) {
24
- stackTraceRef.current.appendChild(linkDetector.linkify(info.details?.stackTrace || '', true));
25
- }
26
- layout();
27
- }, [info.details, info.details?.stackTrace, stackTraceRef]);
28
-
29
- return (
30
- <div className={'exception_widget'}>
31
- <div className={'title'}>
32
- <div className={'label'}>
33
- {info.id
34
- ? formatLocalize('debug.widget.exception.thrownWithId', info.id)
35
- : localize('debug.widget.exception.thrown')}
36
- </div>
37
- </div>
38
- {info.description ? <div className={'description'}>{info.description}</div> : null}
39
- {info.details && info.details.stackTrace ? <div className={'stack_trace'} ref={stackTraceRef}></div> : null}
40
- </div>
41
- );
42
- }
43
-
44
- @Injectable({ multiple: true })
45
- export class DebugExceptionWidget extends ZoneWidget {
46
- @Autowired(AppConfig)
47
- private configContext: AppConfig;
48
-
49
- constructor(editor: ICodeEditor, private exceptionInfo: IDebugExceptionInfo) {
50
- super(editor);
51
-
52
- this.create();
53
- }
54
-
55
- protected applyClass(): void {}
56
-
57
- protected applyStyle(): void {}
58
-
59
- protected _fillContainer(container: HTMLElement): void {
60
- this.setCssClass('exception_widget_container');
61
- const fontInfo = this.editor.getOption(EditorOption.fontInfo);
62
- container.style.fontSize = `${fontInfo.fontSize}px`;
63
- container.style.lineHeight = `${fontInfo.lineHeight}px`;
64
- container.tabIndex = 0;
65
-
66
- ReactDOM.render(
67
- <ConfigProvider value={this.configContext}>
68
- <ExceptionInfoContainer
69
- info={this.exceptionInfo}
70
- layout={() => this.layout(undefined)}
71
- ></ExceptionInfoContainer>
72
- </ConfigProvider>,
73
- container,
74
- );
75
- }
76
-
77
- public layout(_info: monaco.editor.EditorLayoutInfo | undefined): void {
78
- this._container!.style.height = 'initial';
79
- const lineHeight = this.editor.getOption(EditorOption.lineHeight);
80
- const arrowHeight = Math.round(lineHeight / 3);
81
- const computedLinesNumber = Math.ceil((this._container!.offsetHeight + arrowHeight) / lineHeight);
82
-
83
- this._relayout(computedLinesNumber);
84
- }
85
-
86
- public focus(): void {
87
- this._container.focus();
88
- }
89
- }
@@ -1,234 +0,0 @@
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
- // Some code copied and modified from https://github.com/microsoft/vscode/blob/94c9ea46838a9a619aeafb7e8afd1170c967bb55/src/vs/workbench/contrib/debug/browser/linkDetector.ts
6
-
7
- import { Injectable, Autowired } from '@opensumi/di';
8
- import { Schemes, IOpenerService, OS, formatLocalize } from '@opensumi/ide-core-browser';
9
- import { URI, IRange, isWindows, isMacintosh, path as osPath, OperatingSystem } from '@opensumi/ide-core-common';
10
- import { WorkbenchEditorService } from '@opensumi/ide-editor';
11
- import { IFileServiceClient, FileStat } from '@opensumi/ide-file-service/lib/common';
12
- import { IWorkspaceFolder } from '@opensumi/monaco-editor-core/esm/vs/platform/workspace/common/workspace';
13
-
14
- import styles from './view/console/debug-console.module.less';
15
-
16
- const CONTROL_CODES = '\\u0000-\\u0020\\u007f-\\u009f';
17
- const WEB_LINK_REGEX = new RegExp(
18
- '(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\\/\\/|data:|www\\.)[^\\s' +
19
- CONTROL_CODES +
20
- '"]{2,}[^\\s' +
21
- CONTROL_CODES +
22
- '"\')}\\],:;.!?]',
23
- 'ug',
24
- );
25
-
26
- const WIN_ABSOLUTE_PATH = /(?:[a-zA-Z]:(?:(?:\\|\/)[\w\.-]*)+)/;
27
- const WIN_RELATIVE_PATH = /(?:(?:\~|\.)(?:(?:\\|\/)[\w\.-]*)+)/;
28
- const WIN_PATH = new RegExp(`(${WIN_ABSOLUTE_PATH.source}|${WIN_RELATIVE_PATH.source})`);
29
- const POSIX_PATH = /((?:\~|\.)?(?:\/[\w\.-]*)+)/;
30
- const LINE_COLUMN = /(?:\:([\d]+))?(?:\:([\d]+))?/;
31
- const PATH_LINK_REGEX = new RegExp(`${isWindows ? WIN_PATH.source : POSIX_PATH.source}${LINE_COLUMN.source}`, 'g');
32
-
33
- const MAX_LENGTH = 2000;
34
-
35
- type LinkKind = 'web' | 'path' | 'text';
36
- interface LinkPart {
37
- kind: LinkKind;
38
- value: string;
39
- captures: string[];
40
- }
41
-
42
- @Injectable({ multiple: true })
43
- export class LinkDetector {
44
- @Autowired(WorkbenchEditorService)
45
- private readonly workbenchEditorService: WorkbenchEditorService;
46
-
47
- @Autowired(IFileServiceClient)
48
- private readonly fileServiceClient: IFileServiceClient;
49
-
50
- @Autowired(IOpenerService)
51
- private readonly openerService: IOpenerService;
52
-
53
- linkify(text: string, splitLines?: boolean, workspaceFolder?: IWorkspaceFolder): HTMLElement {
54
- if (splitLines) {
55
- const lines = text.split('\n');
56
- for (let i = 0; i < lines.length - 1; i++) {
57
- lines[i] = lines[i] + '\n';
58
- }
59
- if (!lines[lines.length - 1]) {
60
- lines.pop();
61
- }
62
- const elements = lines.map((line) => this.linkify(line, false, workspaceFolder));
63
- if (elements.length === 1) {
64
- return elements[0];
65
- }
66
- const container = document.createElement('span');
67
- elements.forEach((e) => container.appendChild(e));
68
- return container;
69
- }
70
-
71
- const container = document.createElement('span');
72
- for (const part of this.detectLinks(text)) {
73
- try {
74
- switch (part.kind) {
75
- case 'text':
76
- container.appendChild(document.createTextNode(part.value));
77
- break;
78
- case 'web':
79
- container.appendChild(this.createWebLink(part.value));
80
- break;
81
- case 'path': {
82
- const path = part.captures[0];
83
- const lineNumber = part.captures[1] ? Number(part.captures[1]) : 0;
84
- const columnNumber = part.captures[2] ? Number(part.captures[2]) : 0;
85
- container.appendChild(this.createPathLink(part.value, path, lineNumber, columnNumber, workspaceFolder));
86
- break;
87
- }
88
- }
89
- } catch (e) {
90
- container.appendChild(document.createTextNode(part.value));
91
- }
92
- }
93
- return container;
94
- }
95
-
96
- private createWebLink(url: string): Node {
97
- const link = this.createLink(url);
98
-
99
- const uri = URI.parse(url);
100
- this.decorateLink(link, async () => {
101
- if (uri.scheme === Schemes.file) {
102
- const fsPath = uri.toString();
103
- const path = OS.type() === OperatingSystem.Windows ? osPath.win32 : osPath.posix;
104
- const fileUrl = osPath.normalize(
105
- path.sep === osPath.posix.sep && isWindows ? fsPath.replace(/\\/g, osPath.posix.sep) : fsPath,
106
- );
107
-
108
- await this.workbenchEditorService.open(URI.parse(fileUrl));
109
- return;
110
- }
111
-
112
- this.openerService.open(url);
113
- });
114
-
115
- return link;
116
- }
117
-
118
- private createPathLink(
119
- text: string,
120
- path: string,
121
- lineNumber: number,
122
- columnNumber: number,
123
- workspaceFolder: IWorkspaceFolder | undefined,
124
- ): Node {
125
- if (path[0] === '/' && path[1] === '/') {
126
- return document.createTextNode(text);
127
- }
128
-
129
- if (path[0] === '.') {
130
- if (!workspaceFolder) {
131
- return document.createTextNode(text);
132
- }
133
- const uri = workspaceFolder.toResource(path);
134
- const link = this.createLink(text);
135
- this.decorateLink(link, () => {
136
- this.workbenchEditorService.open(URI.parse(uri.toString()));
137
- });
138
- return link;
139
- }
140
-
141
- const link = this.createLink(text);
142
- link.tabIndex = 0;
143
- const uri = URI.file(osPath.normalize(path));
144
- this.fileServiceClient.getFileStat(uri.toString()).then((stat: FileStat | undefined) => {
145
- if (!stat || (stat && stat.isDirectory)) {
146
- return;
147
- }
148
-
149
- this.decorateLink(link, () => {
150
- this.workbenchEditorService.open(URI.parse(uri.toString()), {
151
- range: {
152
- startColumn: columnNumber,
153
- startLineNumber: lineNumber,
154
- endLineNumber: lineNumber,
155
- endColumn: columnNumber,
156
- } as IRange,
157
- });
158
- });
159
- });
160
- return link;
161
- }
162
-
163
- private createLink(text: string): HTMLElement {
164
- const link = document.createElement('a');
165
- link.textContent = text;
166
- return link;
167
- }
168
-
169
- private decorateLink(link: HTMLElement, onClick: (preserveFocus: boolean) => void) {
170
- link.classList.add(styles.link);
171
- link.title = formatLocalize('debug.console.followLink', isMacintosh ? 'Cmd' : 'Ctrl');
172
- link.onmousemove = (event) => {
173
- link.classList.toggle(styles.pointer, isMacintosh ? event.metaKey : event.ctrlKey);
174
- };
175
- link.onmouseleave = () => link.classList.remove(styles.pointer);
176
- link.onclick = (event) => {
177
- const selection = window.getSelection();
178
- if (!selection || selection.type === 'Range') {
179
- return;
180
- }
181
- if (!(isMacintosh ? event.metaKey : event.ctrlKey)) {
182
- return;
183
- }
184
-
185
- event.preventDefault();
186
- event.stopImmediatePropagation();
187
- onClick(false);
188
- };
189
- }
190
-
191
- private detectLinks(text: string): LinkPart[] {
192
- if (!text) {
193
- return [];
194
- }
195
- if (text.length > MAX_LENGTH) {
196
- return [{ kind: 'text', value: text, captures: [] }];
197
- }
198
-
199
- const regexes: RegExp[] = [WEB_LINK_REGEX, PATH_LINK_REGEX];
200
- const kinds: LinkKind[] = ['web', 'path'];
201
- const result: LinkPart[] = [];
202
-
203
- const splitOne = (text: string, regexIndex: number) => {
204
- if (regexIndex >= regexes.length) {
205
- result.push({ value: text, kind: 'text', captures: [] });
206
- return;
207
- }
208
- const regex = regexes[regexIndex];
209
- let currentIndex = 0;
210
- let match: RegExpExecArray | null;
211
- regex.lastIndex = 0;
212
- while ((match = regex.exec(text)) !== null) {
213
- const stringBeforeMatch = text.substring(currentIndex, match.index);
214
- if (stringBeforeMatch) {
215
- splitOne(stringBeforeMatch, regexIndex + 1);
216
- }
217
- const value = match[0];
218
- result.push({
219
- value,
220
- kind: kinds[regexIndex],
221
- captures: match.slice(1),
222
- });
223
- currentIndex = match.index + value.length;
224
- }
225
- const stringAfterMatches = text.substring(currentIndex);
226
- if (stringAfterMatches) {
227
- splitOne(stringAfterMatches, regexIndex + 1);
228
- }
229
- };
230
-
231
- splitOne(text, 0);
232
- return result;
233
- }
234
- }
@@ -1,220 +0,0 @@
1
- import clamp from 'lodash/clamp';
2
-
3
- import { Injectable, Autowired } from '@opensumi/di';
4
- import { path } from '@opensumi/ide-core-common';
5
- import {
6
- Event,
7
- FileSystemProvider,
8
- FileChangeEvent,
9
- FileStat,
10
- FileSystemProviderCapabilities,
11
- FileType,
12
- Uri,
13
- BinaryBuffer,
14
- Emitter,
15
- Disposable,
16
- ILogger,
17
- } from '@opensumi/ide-core-common';
18
-
19
-
20
- import {
21
- DEBUG_MEMORY_SCHEME,
22
- IDebugSession,
23
- IDebugSessionManager,
24
- IMemoryInvalidationEvent,
25
- IMemoryRegion,
26
- MemoryRange,
27
- MemoryRangeType,
28
- } from '../common';
29
-
30
- import { DebugSessionManager } from './debug-session-manager';
31
-
32
- const { Path } = path;
33
-
34
- @Injectable()
35
- export class DebugMemoryFileSystemProvider implements FileSystemProvider {
36
- @Autowired(IDebugSessionManager)
37
- protected readonly debugSessionManager: DebugSessionManager;
38
-
39
- @Autowired(ILogger)
40
- protected readonly logger: ILogger;
41
-
42
- private memoryFdCounter = 0;
43
- private readonly changeEmitter = new Emitter<FileChangeEvent>();
44
- private readonly fdMemory = new Map<number, { session: IDebugSession; region: IMemoryRegion }>();
45
-
46
- public readonly capabilities: FileSystemProviderCapabilities =
47
- 0 | FileSystemProviderCapabilities.PathCaseSensitive | FileSystemProviderCapabilities.FileOpenReadWriteClose;
48
-
49
- public readonly onDidChangeCapabilities = Event.None;
50
-
51
- public onDidChangeFile: Event<FileChangeEvent> = this.changeEmitter.event;
52
-
53
- public stat(uri: Uri): Promise<void | FileStat> {
54
- return Promise.resolve({
55
- type: FileType.File,
56
- uri: uri.toString(),
57
- mtime: 0,
58
- ctime: 0,
59
- size: 0,
60
- lastModification: 0,
61
- isDirectory: false,
62
- });
63
- }
64
-
65
- public async readFile(uri: Uri): Promise<void | Uint8Array> {
66
- const parse = this.parseUri(uri);
67
- if (!parse) {
68
- return this.toBuffer('');
69
- }
70
-
71
- if (!parse.offset) {
72
- return this.toBuffer('');
73
- }
74
-
75
- const { session, memoryReference, offset } = parse;
76
-
77
- const data = new Uint8Array(offset.toOffset - offset.fromOffset);
78
-
79
- const fd = this.memoryFdCounter++;
80
- let region = session.getMemory(memoryReference);
81
- if (offset) {
82
- region = new MemoryRegionView(region, offset);
83
- }
84
-
85
- this.fdMemory.set(fd, { session, region });
86
- await this.read(fd, offset.fromOffset, data, 0, data.length);
87
- return data;
88
- }
89
-
90
- public async read(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise<number | void> {
91
- const memory = this.fdMemory.get(fd);
92
- if (!memory) {
93
- return;
94
- }
95
-
96
- const ranges = await memory.region.read(pos, length);
97
- let readSoFar = 0;
98
- for (const range of ranges) {
99
- switch (range.type) {
100
- case MemoryRangeType.Unreadable:
101
- return readSoFar;
102
- case MemoryRangeType.Error:
103
- if (readSoFar > 0) {
104
- return readSoFar;
105
- } else {
106
- return this.logger.error(range.error);
107
- }
108
- case MemoryRangeType.Valid: {
109
- const start = Math.max(0, pos - range.offset);
110
- const toWrite = range.data.slice(start, Math.min(range.data.byteLength, start + (length - readSoFar)));
111
- data.set(toWrite.buffer, offset + readSoFar);
112
- readSoFar += toWrite.byteLength;
113
- break;
114
- }
115
- default:
116
- this.logger.log(range);
117
- }
118
- }
119
-
120
- return readSoFar;
121
- }
122
-
123
- private toBuffer(s: string): Uint8Array {
124
- return BinaryBuffer.fromString(s).buffer;
125
- }
126
-
127
- private parseUri(uri: Uri) {
128
- if (uri.scheme !== DEBUG_MEMORY_SCHEME) {
129
- return;
130
- }
131
-
132
- const session = this.debugSessionManager.sessions.find((s) => s.id.toLowerCase() === uri.authority.toLowerCase());
133
- if (!session) {
134
- return;
135
- }
136
-
137
- let offset: { fromOffset: number; toOffset: number } | undefined;
138
- /**
139
- * query 参数是 hex-editor 插件通过覆盖了 debug file accessor 处理过后添加上的,形如
140
- * ?range=0:131072
141
- */
142
- const rangeMatch = /range=([0-9]+):([0-9]+)/.exec(uri.query);
143
- if (rangeMatch) {
144
- offset = { fromOffset: Number(rangeMatch[1]), toOffset: Number(rangeMatch[2]) };
145
- }
146
-
147
- const [, memoryReference] = uri.path.split(Path.separator);
148
-
149
- return {
150
- session,
151
- offset,
152
- readOnly: !session.capabilities.supportsWriteMemoryRequest,
153
- sessionId: uri.authority,
154
- memoryReference: decodeURIComponent(memoryReference),
155
- };
156
- }
157
-
158
- public readDirectory(): never {
159
- throw new Error('Not allowed');
160
- }
161
-
162
- public createDirectory(): never {
163
- throw new Error('Not allowed');
164
- }
165
-
166
- public rename(): never {
167
- throw new Error('Not allowed');
168
- }
169
-
170
- public delete(): never {
171
- throw new Error('Not allowed');
172
- }
173
-
174
- public watch(): never {
175
- throw new Error('Not allowed');
176
- }
177
-
178
- /**
179
- * 目前仅支持读,不支持写
180
- */
181
- public writeFile(): never {
182
- throw new Error('Method not implemented.');
183
- }
184
- }
185
-
186
- class MemoryRegionView extends Disposable implements IMemoryRegion {
187
- private readonly invalidateEmitter = new Emitter<IMemoryInvalidationEvent>();
188
-
189
- public readonly onDidInvalidate = this.invalidateEmitter.event;
190
- public readonly writable: boolean;
191
- private readonly width = this.range.toOffset - this.range.fromOffset;
192
-
193
- constructor(private readonly parent: IMemoryRegion, public readonly range: { fromOffset: number; toOffset: number }) {
194
- super();
195
- this.writable = parent.writable;
196
-
197
- this.registerDispose(parent);
198
- this.registerDispose(
199
- parent.onDidInvalidate((e) => {
200
- const fromOffset = clamp(e.fromOffset - range.fromOffset, 0, this.width);
201
- const toOffset = clamp(e.toOffset - range.fromOffset, 0, this.width);
202
- if (toOffset > fromOffset) {
203
- this.invalidateEmitter.fire({ fromOffset, toOffset });
204
- }
205
- }),
206
- );
207
- }
208
-
209
- public read(fromOffset: number, toOffset: number): Promise<MemoryRange[]> {
210
- if (fromOffset < 0) {
211
- throw new RangeError(`Invalid fromOffset: ${fromOffset}`);
212
- }
213
-
214
- return this.parent.read(this.range.fromOffset + fromOffset, this.range.fromOffset + Math.min(toOffset, this.width));
215
- }
216
-
217
- public write(offset: number, data: BinaryBuffer): Promise<number> {
218
- return this.parent.write(this.range.fromOffset + offset, data);
219
- }
220
- }
@@ -1,70 +0,0 @@
1
- import { Injector } from '@opensumi/di';
2
- import {
3
- PreferenceSchema,
4
- PreferenceProxy,
5
- PreferenceService,
6
- createPreferenceProxy,
7
- PreferenceContribution,
8
- localize,
9
- } from '@opensumi/ide-core-browser';
10
-
11
- export const debugPreferencesSchema: PreferenceSchema = {
12
- type: 'object',
13
- properties: {
14
- 'debug.trace': {
15
- type: 'boolean',
16
- default: false,
17
- description: localize('preference.debug.trace'),
18
- },
19
- 'debug.debugViewLocation': {
20
- enum: ['default', 'left', 'right', 'bottom'],
21
- default: 'default',
22
- description: localize('preference.debug.debugViewLocation'),
23
- },
24
- 'debug.openDebug': {
25
- enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart', 'openOnDebugBreak'],
26
- default: 'openOnDebugBreak',
27
- description: localize('preference.debug.openDebug'),
28
- },
29
- 'debug.internalConsoleOptions': {
30
- enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart'],
31
- default: 'openOnFirstSessionStart',
32
- description: localize('preference.debug.internalConsoleOptions'),
33
- },
34
- 'debug.allowBreakpointsEverywhere': {
35
- type: 'boolean',
36
- description: localize('preference.debug.allowBreakpointsEverywhere'),
37
- default: false,
38
- },
39
- },
40
- };
41
-
42
- export class IDebugConfiguration {
43
- 'debug.trace': boolean;
44
- 'debug.debugViewLocation': 'default' | 'left' | 'right' | 'bottom';
45
- 'debug.openDebug': 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart' | 'openOnDebugBreak';
46
- 'debug.internalConsoleOptions': 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart';
47
- 'debug.allowBreakpointsEverywhere': boolean;
48
- }
49
-
50
- export const DebugPreferences = Symbol('DebugPreferences');
51
- export type DebugPreferences = PreferenceProxy<IDebugConfiguration>;
52
-
53
- export function createDebugPreferences(preferences: PreferenceService): DebugPreferences {
54
- return createPreferenceProxy(preferences, debugPreferencesSchema);
55
- }
56
-
57
- export function injectDebugPreferences(injector: Injector): void {
58
- injector.addProviders({
59
- token: DebugPreferences,
60
- useFactory: (injector: Injector) => {
61
- const preferences = injector.get(PreferenceService);
62
- return createDebugPreferences(preferences);
63
- },
64
- });
65
-
66
- injector.addProviders({
67
- token: PreferenceContribution,
68
- useValue: { schema: debugPreferencesSchema },
69
- });
70
- }