@opensumi/ide-debug 2.21.10-rc-1671677903.0 → 2.21.10

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 (330) 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 +1 -1
  12. package/lib/browser/debug-configuration-manager.js.map +1 -1
  13. package/lib/browser/debug-contribution.d.ts +147 -2
  14. package/lib/browser/debug-contribution.d.ts.map +1 -1
  15. package/lib/browser/debug-contribution.js +197 -48
  16. package/lib/browser/debug-contribution.js.map +1 -1
  17. package/lib/browser/debug-exception-widget.js.map +1 -1
  18. package/lib/browser/debug-link-detector.js.map +1 -1
  19. package/lib/browser/debug-memory.js +4 -4
  20. package/lib/browser/debug-memory.js.map +1 -1
  21. package/lib/browser/debug-preferences.d.ts +1 -1
  22. package/lib/browser/debug-preferences.d.ts.map +1 -1
  23. package/lib/browser/debug-progress.service.js.map +1 -1
  24. package/lib/browser/debug-schema-updater.js.map +1 -1
  25. package/lib/browser/debug-service.js.map +1 -1
  26. package/lib/browser/debug-session-connection.d.ts +3 -2
  27. package/lib/browser/debug-session-connection.d.ts.map +1 -1
  28. package/lib/browser/debug-session-connection.js.map +1 -1
  29. package/lib/browser/debug-session-contribution.js.map +1 -1
  30. package/lib/browser/debug-session-manager.d.ts +4 -3
  31. package/lib/browser/debug-session-manager.d.ts.map +1 -1
  32. package/lib/browser/debug-session-manager.js +8 -7
  33. package/lib/browser/debug-session-manager.js.map +1 -1
  34. package/lib/browser/debug-session.d.ts +4 -3
  35. package/lib/browser/debug-session.d.ts.map +1 -1
  36. package/lib/browser/debug-session.js +11 -15
  37. package/lib/browser/debug-session.js.map +1 -1
  38. package/lib/browser/debugUtils.js +4 -4
  39. package/lib/browser/debugUtils.js.map +1 -1
  40. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
  41. package/lib/browser/editor/debug-breakpoint-zone-widget.js +7 -7
  42. package/lib/browser/editor/debug-breakpoint-zone-widget.js.map +1 -1
  43. package/lib/browser/editor/debug-editor-contribution.d.ts +2 -2
  44. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
  45. package/lib/browser/editor/debug-editor-contribution.js +4 -3
  46. package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
  47. package/lib/browser/editor/debug-expression-provider.js.map +1 -1
  48. package/lib/browser/editor/debug-hover-model.js.map +1 -1
  49. package/lib/browser/editor/debug-hover-source.d.ts +1 -1
  50. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -1
  51. package/lib/browser/editor/debug-hover-source.js.map +1 -1
  52. package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -1
  53. package/lib/browser/editor/debug-hover-widget.js.map +1 -1
  54. package/lib/browser/editor/debug-model-manager.d.ts +9 -2
  55. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -1
  56. package/lib/browser/editor/debug-model-manager.js +15 -8
  57. package/lib/browser/editor/debug-model-manager.js.map +1 -1
  58. package/lib/browser/editor/debug-model.d.ts +2 -2
  59. package/lib/browser/editor/debug-model.d.ts.map +1 -1
  60. package/lib/browser/editor/debug-model.js +27 -27
  61. package/lib/browser/editor/debug-model.js.map +1 -1
  62. package/lib/browser/editor/debug-run-to-cursor.service.js +7 -7
  63. package/lib/browser/editor/debug-run-to-cursor.service.js.map +1 -1
  64. package/lib/browser/editor/evaluatable-expression.js.map +1 -1
  65. package/lib/browser/index.d.ts +14 -0
  66. package/lib/browser/index.d.ts.map +1 -1
  67. package/lib/browser/index.js +24 -8
  68. package/lib/browser/index.js.map +1 -1
  69. package/lib/browser/markers/marker-manager.js.map +1 -1
  70. package/lib/browser/model/debug-source.d.ts +3 -3
  71. package/lib/browser/model/debug-source.d.ts.map +1 -1
  72. package/lib/browser/model/debug-source.js.map +1 -1
  73. package/lib/browser/model/debug-thread.d.ts +1 -1
  74. package/lib/browser/model/debug-thread.d.ts.map +1 -1
  75. package/lib/browser/model/debug-watch.d.ts.map +1 -1
  76. package/lib/browser/model/debug-watch.js +2 -1
  77. package/lib/browser/model/debug-watch.js.map +1 -1
  78. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  79. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  80. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  81. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  82. package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -1
  83. package/lib/browser/tree/debug-console-tree-node.define.js +6 -6
  84. package/lib/browser/tree/debug-console-tree-node.define.js.map +1 -1
  85. package/lib/browser/tree/debug-tree-node.define.js +18 -18
  86. package/lib/browser/tree/debug-tree-node.define.js.map +1 -1
  87. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +3 -3
  88. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
  89. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  90. package/lib/browser/view/configuration/debug-configuration.service.d.ts +2 -1
  91. package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -1
  92. package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -1
  93. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  94. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  95. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  96. package/lib/browser/view/configuration/debug-toolbar.service.js.map +1 -1
  97. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  98. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  99. package/lib/browser/view/console/debug-console-filter.model.js.map +1 -1
  100. package/lib/browser/view/console/debug-console-filter.service.js.map +1 -1
  101. package/lib/browser/view/console/debug-console-model.js.map +1 -1
  102. package/lib/browser/view/console/debug-console-session.d.ts +2 -3
  103. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -1
  104. package/lib/browser/view/console/debug-console-session.js.map +1 -1
  105. package/lib/browser/view/console/debug-console-tree.model.service.d.ts +1 -1
  106. package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -1
  107. package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -1
  108. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -1
  109. package/lib/browser/view/console/debug-console.contribution.js +23 -21
  110. package/lib/browser/view/console/debug-console.contribution.js.map +1 -1
  111. package/lib/browser/view/console/debug-console.module.less +1 -2
  112. package/lib/browser/view/console/debug-console.service.js +7 -7
  113. package/lib/browser/view/console/debug-console.service.js.map +1 -1
  114. package/lib/browser/view/console/debug-console.view.d.ts +1 -1
  115. package/lib/browser/view/console/debug-console.view.d.ts.map +1 -1
  116. package/lib/browser/view/console/debug-console.view.js +3 -15
  117. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  118. package/lib/browser/view/debug-view-model.js.map +1 -1
  119. package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts.map +1 -1
  120. package/lib/browser/view/frames/debug-call-stack-frame.view.js +24 -25
  121. package/lib/browser/view/frames/debug-call-stack-frame.view.js.map +1 -1
  122. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
  123. package/lib/browser/view/frames/debug-call-stack-session.view.js +5 -8
  124. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
  125. package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -1
  126. package/lib/browser/view/frames/debug-call-stack-thread.view.js +7 -12
  127. package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -1
  128. package/lib/browser/view/frames/debug-call-stack.contribution.js +5 -5
  129. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -1
  130. package/lib/browser/view/frames/debug-call-stack.service.js.map +1 -1
  131. package/lib/browser/view/variables/debug-variables-model.js.map +1 -1
  132. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts +1 -1
  133. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -1
  134. package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -1
  135. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -1
  136. package/lib/browser/view/variables/debug-variables.contribution.js +13 -12
  137. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -1
  138. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  139. package/lib/browser/view/variables/debug-variables.view.d.ts +1 -1
  140. package/lib/browser/view/variables/debug-variables.view.d.ts.map +1 -1
  141. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  142. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  143. package/lib/browser/view/watch/debug-watch-model.js.map +1 -1
  144. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts +2 -2
  145. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -1
  146. package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -1
  147. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -1
  148. package/lib/browser/view/watch/debug-watch.contribution.js +19 -21
  149. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -1
  150. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  151. package/lib/browser/view/watch/debug-watch.view.d.ts +1 -1
  152. package/lib/browser/view/watch/debug-watch.view.d.ts.map +1 -1
  153. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  154. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  155. package/lib/common/debug-breakpoint.d.ts +3 -3
  156. package/lib/common/debug-breakpoint.d.ts.map +1 -1
  157. package/lib/common/debug-configuration.d.ts +1 -1
  158. package/lib/common/debug-configuration.d.ts.map +1 -1
  159. package/lib/common/debug-editor.d.ts +1 -1
  160. package/lib/common/debug-editor.d.ts.map +1 -1
  161. package/lib/common/debug-model.d.ts +4 -19
  162. package/lib/common/debug-model.d.ts.map +1 -1
  163. package/lib/common/debug-model.js +6 -14
  164. package/lib/common/debug-model.js.map +1 -1
  165. package/lib/common/debug-service.d.ts +1 -1
  166. package/lib/common/debug-service.d.ts.map +1 -1
  167. package/lib/common/debug-session.d.ts +1 -1
  168. package/lib/common/debug-session.d.ts.map +1 -1
  169. package/lib/common/index.d.ts +0 -2
  170. package/lib/common/index.d.ts.map +1 -1
  171. package/lib/common/index.js +0 -2
  172. package/lib/common/index.js.map +1 -1
  173. package/lib/common/inline-values.d.ts +1 -1
  174. package/lib/common/inline-values.d.ts.map +1 -1
  175. package/lib/common/terminal.js +10 -10
  176. package/lib/common/terminal.js.map +1 -1
  177. package/package.json +25 -24
  178. package/lib/common/commands.d.ts +0 -46
  179. package/lib/common/commands.d.ts.map +0 -1
  180. package/lib/common/commands.js +0 -149
  181. package/lib/common/commands.js.map +0 -1
  182. package/lib/common/debug-console.d.ts +0 -18
  183. package/lib/common/debug-console.d.ts.map +0 -1
  184. package/lib/common/debug-console.js +0 -5
  185. package/lib/common/debug-console.js.map +0 -1
  186. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  187. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  188. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  189. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  190. package/src/browser/assets/breakpoint-hint.svg +0 -4
  191. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  192. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  193. package/src/browser/assets/breakpoint-log.svg +0 -4
  194. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  195. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  196. package/src/browser/assets/breakpoint.svg +0 -4
  197. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  198. package/src/browser/assets/breakpoints-activate.svg +0 -4
  199. package/src/browser/assets/configure-inverse.svg +0 -4
  200. package/src/browser/assets/configure.svg +0 -4
  201. package/src/browser/assets/continue-inverse.svg +0 -4
  202. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  203. package/src/browser/assets/current-arrow.svg +0 -4
  204. package/src/browser/assets/remove-all-inverse.svg +0 -4
  205. package/src/browser/assets/remove-all.svg +0 -4
  206. package/src/browser/assets/repl-inverse.svg +0 -4
  207. package/src/browser/assets/repl.svg +0 -4
  208. package/src/browser/assets/restart-inverse.svg +0 -4
  209. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  210. package/src/browser/assets/stackframe-arrow.svg +0 -4
  211. package/src/browser/assets/start-inverse.svg +0 -4
  212. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  213. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  214. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  215. package/src/browser/breakpoint/index.ts +0 -3
  216. package/src/browser/components/debug-action/index.module.less +0 -73
  217. package/src/browser/components/debug-action/index.tsx +0 -40
  218. package/src/browser/components/debug-exception-widget.less +0 -42
  219. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  220. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  221. package/src/browser/components/index.ts +0 -1
  222. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  223. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  224. package/src/browser/contextkeys/index.ts +0 -1
  225. package/src/browser/debug-ansi-handle.ts +0 -521
  226. package/src/browser/debug-configuration-manager.ts +0 -513
  227. package/src/browser/debug-configuration-model.ts +0 -66
  228. package/src/browser/debug-contribution.ts +0 -757
  229. package/src/browser/debug-exception-widget.tsx +0 -89
  230. package/src/browser/debug-link-detector.ts +0 -234
  231. package/src/browser/debug-memory.ts +0 -220
  232. package/src/browser/debug-preferences.ts +0 -70
  233. package/src/browser/debug-progress.service.ts +0 -122
  234. package/src/browser/debug-schema-updater.ts +0 -67
  235. package/src/browser/debug-service.ts +0 -42
  236. package/src/browser/debug-session-connection.ts +0 -331
  237. package/src/browser/debug-session-contribution.ts +0 -57
  238. package/src/browser/debug-session-manager.ts +0 -622
  239. package/src/browser/debug-session.ts +0 -1181
  240. package/src/browser/debug-style.less +0 -128
  241. package/src/browser/debugUtils.ts +0 -110
  242. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  243. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  244. package/src/browser/editor/debug-breakpoint.module.less +0 -31
  245. package/src/browser/editor/debug-editor-contribution.ts +0 -589
  246. package/src/browser/editor/debug-expression-provider.ts +0 -101
  247. package/src/browser/editor/debug-hover-model.ts +0 -38
  248. package/src/browser/editor/debug-hover-source.ts +0 -107
  249. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  250. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  251. package/src/browser/editor/debug-hover.module.less +0 -29
  252. package/src/browser/editor/debug-hover.view.tsx +0 -147
  253. package/src/browser/editor/debug-model-manager.ts +0 -219
  254. package/src/browser/editor/debug-model.ts +0 -853
  255. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  256. package/src/browser/editor/debug-styles.ts +0 -66
  257. package/src/browser/editor/evaluatable-expression.ts +0 -47
  258. package/src/browser/editor/index.ts +0 -6
  259. package/src/browser/index.ts +0 -119
  260. package/src/browser/markers/index.ts +0 -2
  261. package/src/browser/markers/marker-manager.ts +0 -201
  262. package/src/browser/markers/marker.ts +0 -20
  263. package/src/browser/model/debug-source.ts +0 -144
  264. package/src/browser/model/debug-stack-frame.ts +0 -111
  265. package/src/browser/model/debug-thread.ts +0 -186
  266. package/src/browser/model/debug-watch.ts +0 -129
  267. package/src/browser/model/index.ts +0 -4
  268. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  269. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  270. package/src/browser/preferences/launch-preferences.ts +0 -16
  271. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  272. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  273. package/src/browser/tree/index.ts +0 -2
  274. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  275. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  276. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  277. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  278. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  279. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  280. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  281. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  282. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  283. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  284. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  285. package/src/browser/view/console/debug-console-model.ts +0 -48
  286. package/src/browser/view/console/debug-console-session.ts +0 -165
  287. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  288. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  289. package/src/browser/view/console/debug-console.contribution.ts +0 -179
  290. package/src/browser/view/console/debug-console.module.less +0 -373
  291. package/src/browser/view/console/debug-console.service.ts +0 -433
  292. package/src/browser/view/console/debug-console.view.tsx +0 -511
  293. package/src/browser/view/debug-view-model.ts +0 -182
  294. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -230
  295. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -253
  296. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -103
  297. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  298. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  299. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  300. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  301. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  302. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  303. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  304. package/src/browser/view/variables/debug-variables.contribution.ts +0 -243
  305. package/src/browser/view/variables/debug-variables.module.less +0 -149
  306. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  307. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  308. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  309. package/src/browser/view/watch/debug-watch.contribution.ts +0 -170
  310. package/src/browser/view/watch/debug-watch.module.less +0 -189
  311. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  312. package/src/common/commands.ts +0 -146
  313. package/src/common/constants.ts +0 -81
  314. package/src/common/debug-breakpoint.ts +0 -43
  315. package/src/common/debug-configuration.ts +0 -68
  316. package/src/common/debug-console.ts +0 -20
  317. package/src/common/debug-editor.ts +0 -4
  318. package/src/common/debug-hover.ts +0 -31
  319. package/src/common/debug-model.ts +0 -272
  320. package/src/common/debug-progress.ts +0 -8
  321. package/src/common/debug-schema-updater.ts +0 -1
  322. package/src/common/debug-service.ts +0 -176
  323. package/src/common/debug-session-options.ts +0 -19
  324. package/src/common/debug-session.ts +0 -200
  325. package/src/common/evaluatable-expression.ts +0 -43
  326. package/src/common/index.ts +0 -16
  327. package/src/common/inline-values.ts +0 -77
  328. package/src/common/terminal.ts +0 -163
  329. package/src/common/types.ts +0 -86
  330. 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
- }