@opensumi/ide-debug 2.21.13-rc-1673328992.0 → 2.21.13

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 (334) 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 +200 -50
  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-breakpoint.module.less +4 -3
  44. package/lib/browser/editor/debug-editor-contribution.d.ts +2 -2
  45. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
  46. package/lib/browser/editor/debug-editor-contribution.js +4 -3
  47. package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
  48. package/lib/browser/editor/debug-expression-provider.js.map +1 -1
  49. package/lib/browser/editor/debug-hover-model.js.map +1 -1
  50. package/lib/browser/editor/debug-hover-source.d.ts +1 -1
  51. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -1
  52. package/lib/browser/editor/debug-hover-source.js.map +1 -1
  53. package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -1
  54. package/lib/browser/editor/debug-hover-widget.js.map +1 -1
  55. package/lib/browser/editor/debug-model-manager.d.ts +9 -2
  56. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -1
  57. package/lib/browser/editor/debug-model-manager.js +15 -8
  58. package/lib/browser/editor/debug-model-manager.js.map +1 -1
  59. package/lib/browser/editor/debug-model.d.ts +2 -2
  60. package/lib/browser/editor/debug-model.d.ts.map +1 -1
  61. package/lib/browser/editor/debug-model.js +27 -27
  62. package/lib/browser/editor/debug-model.js.map +1 -1
  63. package/lib/browser/editor/debug-run-to-cursor.service.js +7 -7
  64. package/lib/browser/editor/debug-run-to-cursor.service.js.map +1 -1
  65. package/lib/browser/editor/evaluatable-expression.js.map +1 -1
  66. package/lib/browser/index.d.ts +14 -0
  67. package/lib/browser/index.d.ts.map +1 -1
  68. package/lib/browser/index.js +24 -8
  69. package/lib/browser/index.js.map +1 -1
  70. package/lib/browser/markers/marker-manager.js.map +1 -1
  71. package/lib/browser/model/debug-source.d.ts +3 -3
  72. package/lib/browser/model/debug-source.d.ts.map +1 -1
  73. package/lib/browser/model/debug-source.js.map +1 -1
  74. package/lib/browser/model/debug-thread.d.ts +1 -1
  75. package/lib/browser/model/debug-thread.d.ts.map +1 -1
  76. package/lib/browser/model/debug-watch.d.ts.map +1 -1
  77. package/lib/browser/model/debug-watch.js +2 -1
  78. package/lib/browser/model/debug-watch.js.map +1 -1
  79. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  80. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  81. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  82. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  83. package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -1
  84. package/lib/browser/tree/debug-console-tree-node.define.js +6 -6
  85. package/lib/browser/tree/debug-console-tree-node.define.js.map +1 -1
  86. package/lib/browser/tree/debug-tree-node.define.js +18 -18
  87. package/lib/browser/tree/debug-tree-node.define.js.map +1 -1
  88. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +3 -3
  89. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
  90. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  91. package/lib/browser/view/configuration/debug-configuration.service.d.ts +2 -1
  92. package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -1
  93. package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -1
  94. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  95. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  96. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  97. package/lib/browser/view/configuration/debug-toolbar.service.js.map +1 -1
  98. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  99. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  100. package/lib/browser/view/console/debug-console-filter.model.js.map +1 -1
  101. package/lib/browser/view/console/debug-console-filter.service.js.map +1 -1
  102. package/lib/browser/view/console/debug-console-model.js.map +1 -1
  103. package/lib/browser/view/console/debug-console-session.d.ts +2 -3
  104. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -1
  105. package/lib/browser/view/console/debug-console-session.js.map +1 -1
  106. package/lib/browser/view/console/debug-console-tree.model.service.d.ts +1 -1
  107. package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -1
  108. package/lib/browser/view/console/debug-console-tree.model.service.js +3 -5
  109. package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -1
  110. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -1
  111. package/lib/browser/view/console/debug-console.contribution.js +23 -21
  112. package/lib/browser/view/console/debug-console.contribution.js.map +1 -1
  113. package/lib/browser/view/console/debug-console.module.less +1 -2
  114. package/lib/browser/view/console/debug-console.service.js +7 -7
  115. package/lib/browser/view/console/debug-console.service.js.map +1 -1
  116. package/lib/browser/view/console/debug-console.view.d.ts +1 -1
  117. package/lib/browser/view/console/debug-console.view.d.ts.map +1 -1
  118. package/lib/browser/view/console/debug-console.view.js +3 -15
  119. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  120. package/lib/browser/view/debug-view-model.js.map +1 -1
  121. package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts.map +1 -1
  122. package/lib/browser/view/frames/debug-call-stack-frame.view.js +24 -25
  123. package/lib/browser/view/frames/debug-call-stack-frame.view.js.map +1 -1
  124. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
  125. package/lib/browser/view/frames/debug-call-stack-session.view.js +5 -8
  126. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
  127. package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -1
  128. package/lib/browser/view/frames/debug-call-stack-thread.view.js +7 -12
  129. package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -1
  130. package/lib/browser/view/frames/debug-call-stack.contribution.js +5 -5
  131. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -1
  132. package/lib/browser/view/frames/debug-call-stack.service.js.map +1 -1
  133. package/lib/browser/view/variables/debug-variables-model.js.map +1 -1
  134. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts +1 -1
  135. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -1
  136. package/lib/browser/view/variables/debug-variables-tree.model.service.js +3 -5
  137. package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -1
  138. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -1
  139. package/lib/browser/view/variables/debug-variables.contribution.js +13 -12
  140. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -1
  141. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  142. package/lib/browser/view/variables/debug-variables.view.d.ts +1 -1
  143. package/lib/browser/view/variables/debug-variables.view.d.ts.map +1 -1
  144. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  145. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  146. package/lib/browser/view/watch/debug-watch-model.js.map +1 -1
  147. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts +2 -2
  148. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -1
  149. package/lib/browser/view/watch/debug-watch-tree.model.service.js +3 -5
  150. package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -1
  151. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -1
  152. package/lib/browser/view/watch/debug-watch.contribution.js +19 -21
  153. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -1
  154. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  155. package/lib/browser/view/watch/debug-watch.view.d.ts +1 -1
  156. package/lib/browser/view/watch/debug-watch.view.d.ts.map +1 -1
  157. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  158. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  159. package/lib/common/debug-breakpoint.d.ts +3 -3
  160. package/lib/common/debug-breakpoint.d.ts.map +1 -1
  161. package/lib/common/debug-configuration.d.ts +1 -1
  162. package/lib/common/debug-configuration.d.ts.map +1 -1
  163. package/lib/common/debug-editor.d.ts +1 -1
  164. package/lib/common/debug-editor.d.ts.map +1 -1
  165. package/lib/common/debug-model.d.ts +4 -19
  166. package/lib/common/debug-model.d.ts.map +1 -1
  167. package/lib/common/debug-model.js +6 -14
  168. package/lib/common/debug-model.js.map +1 -1
  169. package/lib/common/debug-service.d.ts +1 -1
  170. package/lib/common/debug-service.d.ts.map +1 -1
  171. package/lib/common/debug-session.d.ts +1 -1
  172. package/lib/common/debug-session.d.ts.map +1 -1
  173. package/lib/common/index.d.ts +0 -2
  174. package/lib/common/index.d.ts.map +1 -1
  175. package/lib/common/index.js +0 -2
  176. package/lib/common/index.js.map +1 -1
  177. package/lib/common/inline-values.d.ts +1 -1
  178. package/lib/common/inline-values.d.ts.map +1 -1
  179. package/lib/common/terminal.js +10 -10
  180. package/lib/common/terminal.js.map +1 -1
  181. package/package.json +26 -27
  182. package/lib/common/commands.d.ts +0 -46
  183. package/lib/common/commands.d.ts.map +0 -1
  184. package/lib/common/commands.js +0 -149
  185. package/lib/common/commands.js.map +0 -1
  186. package/lib/common/debug-console.d.ts +0 -18
  187. package/lib/common/debug-console.d.ts.map +0 -1
  188. package/lib/common/debug-console.js +0 -5
  189. package/lib/common/debug-console.js.map +0 -1
  190. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  191. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  192. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  193. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  194. package/src/browser/assets/breakpoint-hint.svg +0 -4
  195. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  196. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  197. package/src/browser/assets/breakpoint-log.svg +0 -4
  198. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  199. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  200. package/src/browser/assets/breakpoint.svg +0 -4
  201. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  202. package/src/browser/assets/breakpoints-activate.svg +0 -4
  203. package/src/browser/assets/configure-inverse.svg +0 -4
  204. package/src/browser/assets/configure.svg +0 -4
  205. package/src/browser/assets/continue-inverse.svg +0 -4
  206. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  207. package/src/browser/assets/current-arrow.svg +0 -4
  208. package/src/browser/assets/remove-all-inverse.svg +0 -4
  209. package/src/browser/assets/remove-all.svg +0 -4
  210. package/src/browser/assets/repl-inverse.svg +0 -4
  211. package/src/browser/assets/repl.svg +0 -4
  212. package/src/browser/assets/restart-inverse.svg +0 -4
  213. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  214. package/src/browser/assets/stackframe-arrow.svg +0 -4
  215. package/src/browser/assets/start-inverse.svg +0 -4
  216. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  217. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  218. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  219. package/src/browser/breakpoint/index.ts +0 -3
  220. package/src/browser/components/debug-action/index.module.less +0 -73
  221. package/src/browser/components/debug-action/index.tsx +0 -40
  222. package/src/browser/components/debug-exception-widget.less +0 -42
  223. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  224. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  225. package/src/browser/components/index.ts +0 -1
  226. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  227. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  228. package/src/browser/contextkeys/index.ts +0 -1
  229. package/src/browser/debug-ansi-handle.ts +0 -521
  230. package/src/browser/debug-configuration-manager.ts +0 -513
  231. package/src/browser/debug-configuration-model.ts +0 -66
  232. package/src/browser/debug-contribution.ts +0 -756
  233. package/src/browser/debug-exception-widget.tsx +0 -89
  234. package/src/browser/debug-link-detector.ts +0 -234
  235. package/src/browser/debug-memory.ts +0 -220
  236. package/src/browser/debug-preferences.ts +0 -70
  237. package/src/browser/debug-progress.service.ts +0 -122
  238. package/src/browser/debug-schema-updater.ts +0 -67
  239. package/src/browser/debug-service.ts +0 -42
  240. package/src/browser/debug-session-connection.ts +0 -331
  241. package/src/browser/debug-session-contribution.ts +0 -57
  242. package/src/browser/debug-session-manager.ts +0 -622
  243. package/src/browser/debug-session.ts +0 -1181
  244. package/src/browser/debug-style.less +0 -128
  245. package/src/browser/debugUtils.ts +0 -110
  246. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  247. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  248. package/src/browser/editor/debug-breakpoint.module.less +0 -30
  249. package/src/browser/editor/debug-editor-contribution.ts +0 -589
  250. package/src/browser/editor/debug-expression-provider.ts +0 -101
  251. package/src/browser/editor/debug-hover-model.ts +0 -38
  252. package/src/browser/editor/debug-hover-source.ts +0 -107
  253. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  254. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  255. package/src/browser/editor/debug-hover.module.less +0 -29
  256. package/src/browser/editor/debug-hover.view.tsx +0 -147
  257. package/src/browser/editor/debug-model-manager.ts +0 -219
  258. package/src/browser/editor/debug-model.ts +0 -853
  259. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  260. package/src/browser/editor/debug-styles.ts +0 -66
  261. package/src/browser/editor/evaluatable-expression.ts +0 -47
  262. package/src/browser/editor/index.ts +0 -6
  263. package/src/browser/index.ts +0 -119
  264. package/src/browser/markers/index.ts +0 -2
  265. package/src/browser/markers/marker-manager.ts +0 -201
  266. package/src/browser/markers/marker.ts +0 -20
  267. package/src/browser/model/debug-source.ts +0 -144
  268. package/src/browser/model/debug-stack-frame.ts +0 -111
  269. package/src/browser/model/debug-thread.ts +0 -186
  270. package/src/browser/model/debug-watch.ts +0 -129
  271. package/src/browser/model/index.ts +0 -4
  272. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  273. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  274. package/src/browser/preferences/launch-preferences.ts +0 -16
  275. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  276. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  277. package/src/browser/tree/index.ts +0 -2
  278. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  279. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  280. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  281. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  282. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  283. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  284. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  285. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  286. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  287. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  288. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  289. package/src/browser/view/console/debug-console-model.ts +0 -48
  290. package/src/browser/view/console/debug-console-session.ts +0 -165
  291. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  292. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -553
  293. package/src/browser/view/console/debug-console.contribution.ts +0 -179
  294. package/src/browser/view/console/debug-console.module.less +0 -373
  295. package/src/browser/view/console/debug-console.service.ts +0 -433
  296. package/src/browser/view/console/debug-console.view.tsx +0 -511
  297. package/src/browser/view/debug-view-model.ts +0 -182
  298. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -230
  299. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -253
  300. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -103
  301. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  302. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  303. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  304. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  305. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  306. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  307. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -470
  308. package/src/browser/view/variables/debug-variables.contribution.ts +0 -243
  309. package/src/browser/view/variables/debug-variables.module.less +0 -149
  310. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  311. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  312. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -570
  313. package/src/browser/view/watch/debug-watch.contribution.ts +0 -170
  314. package/src/browser/view/watch/debug-watch.module.less +0 -189
  315. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  316. package/src/common/commands.ts +0 -146
  317. package/src/common/constants.ts +0 -81
  318. package/src/common/debug-breakpoint.ts +0 -43
  319. package/src/common/debug-configuration.ts +0 -68
  320. package/src/common/debug-console.ts +0 -20
  321. package/src/common/debug-editor.ts +0 -4
  322. package/src/common/debug-hover.ts +0 -31
  323. package/src/common/debug-model.ts +0 -272
  324. package/src/common/debug-progress.ts +0 -8
  325. package/src/common/debug-schema-updater.ts +0 -1
  326. package/src/common/debug-service.ts +0 -176
  327. package/src/common/debug-session-options.ts +0 -19
  328. package/src/common/debug-session.ts +0 -200
  329. package/src/common/evaluatable-expression.ts +0 -43
  330. package/src/common/index.ts +0 -16
  331. package/src/common/inline-values.ts +0 -77
  332. package/src/common/terminal.ts +0 -163
  333. package/src/common/types.ts +0 -86
  334. package/src/index.ts +0 -1
@@ -1,521 +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/main/src/vs/workbench/contrib/debug/browser/debugANSIHandling.ts
6
-
7
- import { ansiColorIdentifiers } from '@opensumi/ide-terminal-next/lib/browser/terminal.color';
8
- import { Color, IThemeService, RGBA } from '@opensumi/ide-theme';
9
- import { IWorkspaceFolder } from '@opensumi/monaco-editor-core/esm/vs/platform/workspace/common/workspace';
10
-
11
- import { LinkDetector } from './debug-link-detector';
12
- import styles from './view/console/debug-console.module.less';
13
-
14
- /**
15
- * @param text
16
- * @returns 返回带有 style 样式和 linkDetector 的 span 标签
17
- */
18
- export async function handleANSIOutput(
19
- text: string,
20
- linkDetector: LinkDetector,
21
- themeService: IThemeService,
22
- workspaceFolder: IWorkspaceFolder | undefined,
23
- ): Promise<HTMLSpanElement> {
24
- const root: HTMLSpanElement = document.createElement('span');
25
- const textLength: number = text.length;
26
-
27
- let styleNames: string[] = [];
28
- let customFgColor: RGBA | undefined;
29
- let customBgColor: RGBA | undefined;
30
- let customUnderlineColor: RGBA | undefined;
31
- let colorsInverted = false;
32
- let currentPos = 0;
33
- let buffer = '';
34
-
35
- while (currentPos < textLength) {
36
- let isSequenceFound = false;
37
-
38
- /**
39
- * 可能是 ANSI 转义序列.
40
- * @see {@link https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97 }
41
- */
42
- if (text.charCodeAt(currentPos) === 27 && text.charAt(currentPos + 1) === '[') {
43
- const startPos: number = currentPos;
44
- currentPos += 2; // 忽略 'Esc[', 因为每个序列都有它
45
-
46
- let ansiSequence = '';
47
-
48
- while (currentPos < textLength) {
49
- const char: string = text.charAt(currentPos);
50
- ansiSequence += char;
51
-
52
- currentPos++;
53
-
54
- // 序列终止字符
55
- if (char.match(/^[ABCDHIJKfhmpsu]$/)) {
56
- isSequenceFound = true;
57
- break;
58
- }
59
- }
60
-
61
- if (isSequenceFound) {
62
- appendStylizedStringToContainer(
63
- root,
64
- buffer,
65
- styleNames,
66
- linkDetector,
67
- workspaceFolder,
68
- customFgColor,
69
- customBgColor,
70
- customUnderlineColor,
71
- );
72
-
73
- buffer = '';
74
-
75
- if (
76
- ansiSequence.match(
77
- /^(?:[34][0-8]|9[0-7]|10[0-7]|[0-9]|2[1-5,7-9]|[34]9|5[8,9]|1[0-9])(?:;[349][0-7]|10[0-7]|[013]|[245]|[34]9)?(?:;[012]?[0-9]?[0-9])*;?m$/,
78
- )
79
- ) {
80
- /**
81
- * 例如: '\033[41m' + 'code' + '\033[0;39m'
82
- * 表示 'code' 这个字符串是红色的
83
- */
84
- const styleCodes: number[] = ansiSequence
85
- .slice(0, -1) // 删除最后的 'm' 字符
86
- .split(';') // 分隔 ';'
87
- .filter((elem) => elem !== '') // 过滤空元素: [39:m] => ['39', '']
88
- .map((elem) => parseInt(elem, 10));
89
-
90
- if (styleCodes[0] === 38 || styleCodes[0] === 48 || styleCodes[0] === 58) {
91
- /**
92
- * 代表 xterm-256 高级颜色
93
- * 38 表示前景色
94
- * 48 表示背景色
95
- * * @see {@link https://tintin.mudhalla.net/info/xterm/ }
96
- */
97
- const colorType = styleCodes[0] === 38 ? 'foreground' : styleCodes[0] === 48 ? 'background' : 'underline';
98
-
99
- if (styleCodes[1] === 5) {
100
- // 8位色
101
- await set8BitColor(styleCodes, colorType);
102
- } else if (styleCodes[1] === 2) {
103
- // 24位色
104
- set24BitColor(styleCodes, colorType);
105
- }
106
- } else {
107
- await setBasicFormatters(styleCodes);
108
- }
109
- }
110
- } else {
111
- currentPos = startPos;
112
- }
113
- }
114
-
115
- if (isSequenceFound === false) {
116
- buffer += text.charAt(currentPos);
117
- currentPos++;
118
- }
119
- }
120
-
121
- if (buffer) {
122
- appendStylizedStringToContainer(
123
- root,
124
- buffer,
125
- styleNames,
126
- linkDetector,
127
- workspaceFolder,
128
- customFgColor,
129
- customBgColor,
130
- customUnderlineColor,
131
- );
132
- }
133
-
134
- return root;
135
-
136
- /**
137
- * 修改前景色、背景色和下划线颜色
138
- */
139
- function changeColor(colorType: 'foreground' | 'background' | 'underline', color?: RGBA | undefined): void {
140
- switch (colorType) {
141
- case 'foreground':
142
- customFgColor = color;
143
- break;
144
- case 'background':
145
- customBgColor = color;
146
- break;
147
- case 'underline':
148
- customUnderlineColor = color;
149
- break;
150
- default:
151
- break;
152
- }
153
-
154
- styleNames = styleNames.filter((style) => style !== `code-${colorType}-colored`);
155
- if (color !== undefined) {
156
- styleNames.push(`code-${colorType}-colored`);
157
- }
158
- }
159
-
160
- /**
161
- * 转换前景色和背景色
162
- */
163
- function reverseForegroundAndBackgroundColors(): void {
164
- let oldFgColor: RGBA | undefined;
165
- oldFgColor = customFgColor;
166
- changeColor('foreground', customBgColor);
167
- changeColor('background', oldFgColor);
168
- }
169
-
170
- /**
171
- * 计算并设置 ANSI 基本样式.
172
- * 支持的样式看下面的文档👇
173
- * @see {@link https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97#%E9%80%89%E6%8B%A9%E5%9B%BE%E5%BD%A2%E5%86%8D%E7%8E%B0%EF%BC%88SGR%EF%BC%89%E5%8F%82%E6%95%B0 }
174
- */
175
- async function setBasicFormatters(styleCodes: number[]): Promise<void> {
176
- for (const code of styleCodes) {
177
- switch (code) {
178
- case 0: {
179
- // 重置
180
- styleNames = [];
181
- customFgColor = undefined;
182
- customBgColor = undefined;
183
- break;
184
- }
185
- case 1: {
186
- // 变粗
187
- styleNames = styleNames.filter((style) => style !== styles['code-bold']);
188
- styleNames.push(styles['code-bold']);
189
- break;
190
- }
191
- case 2: {
192
- // 降低透明度
193
- styleNames = styleNames.filter((style) => style !== styles['code-dim']);
194
- styleNames.push(styles['code-dim']);
195
- break;
196
- }
197
- case 3: {
198
- // 斜体
199
- styleNames = styleNames.filter((style) => style !== styles['code-italic']);
200
- styleNames.push(styles['code-italic']);
201
- break;
202
- }
203
- case 4: {
204
- // 下划线
205
- styleNames = styleNames.filter(
206
- (style) => style !== styles['code-underline'] && style !== styles['code-double-underline'],
207
- );
208
- styleNames.push(styles['code-underline']);
209
- break;
210
- }
211
- case 5: {
212
- // 缓慢闪烁
213
- styleNames = styleNames.filter((style) => style !== styles['code-blink']);
214
- styleNames.push(styles['code-blink']);
215
- break;
216
- }
217
- case 6: {
218
- // 快速闪烁
219
- styleNames = styleNames.filter((style) => style !== styles['code-rapid-blink']);
220
- styleNames.push(styles['code-rapid-blink']);
221
- break;
222
- }
223
- case 7: {
224
- // 前景色和背景色交换
225
- if (!colorsInverted) {
226
- colorsInverted = true;
227
- reverseForegroundAndBackgroundColors();
228
- }
229
- break;
230
- }
231
- case 8: {
232
- // 隐藏
233
- styleNames = styleNames.filter((style) => style !== styles['code-hidden']);
234
- styleNames.push(styles['code-hidden']);
235
- break;
236
- }
237
- case 9: {
238
- // 划除,在字符中间增加横线
239
- styleNames = styleNames.filter((style) => style !== styles['code-strike-through']);
240
- styleNames.push(styles['code-strike-through']);
241
- break;
242
- }
243
- case 10: {
244
- // 默认字体
245
- styleNames = styleNames.filter((style) => !style.startsWith(styles['code-font']));
246
- break;
247
- }
248
- case 11:
249
- case 12:
250
- case 13:
251
- case 14:
252
- case 15:
253
- case 16:
254
- case 17:
255
- case 18:
256
- case 19:
257
- case 20: {
258
- // 字体代码
259
- styleNames = styleNames.filter((style) => !style.startsWith(styles['code-font']));
260
- styleNames.push(styles[`code-font-${code - 10}`]);
261
- break;
262
- }
263
- case 21: {
264
- // 双下划线
265
- styleNames = styleNames.filter(
266
- (style) => style !== styles['code-underline'] && style !== styles['code-double-underline'],
267
- );
268
- styleNames.push(styles['code-double-underline']);
269
- break;
270
- }
271
- case 22: {
272
- // 正常强度的字体(不强不弱)
273
- styleNames = styleNames.filter((style) => style !== styles['code-bold'] && style !== styles['code-dim']);
274
- break;
275
- }
276
- case 23: {
277
- // 既不是斜体也不是黑体(字体 10)
278
- styleNames = styleNames.filter(
279
- (style) => style !== styles['code-italic'] && style !== styles['code-font-10'],
280
- );
281
- break;
282
- }
283
- case 24: {
284
- // 去除下划线
285
- styleNames = styleNames.filter(
286
- (style) => style !== styles['code-underline'] && style !== styles['code-double-underline'],
287
- );
288
- break;
289
- }
290
- case 25: {
291
- // 关闭闪烁
292
- styleNames = styleNames.filter(
293
- (style) => style !== styles['code-blink'] && style !== styles['code-rapid-blink'],
294
- );
295
- break;
296
- }
297
- case 27: {
298
- // 关闭前景色和背景色反转
299
- if (colorsInverted) {
300
- colorsInverted = false;
301
- reverseForegroundAndBackgroundColors();
302
- }
303
- break;
304
- }
305
- case 28: {
306
- // 不隐藏
307
- styleNames = styleNames.filter((style) => style !== styles['code-hidden']);
308
- break;
309
- }
310
- case 29: {
311
- // 关闭划除
312
- styleNames = styleNames.filter((style) => style !== styles['code-strike-through']);
313
- break;
314
- }
315
- case 53: {
316
- // 上划线
317
- styleNames = styleNames.filter((style) => style !== styles['code-overline']);
318
- styleNames.push(styles['code-overline']);
319
- break;
320
- }
321
- case 55: {
322
- // 关闭上划线
323
- styleNames = styleNames.filter((style) => style !== styles['code-overline']);
324
- break;
325
- }
326
- case 39: {
327
- // 默认前景色
328
- changeColor('foreground', undefined);
329
- break;
330
- }
331
- case 49: {
332
- // 默认背景色
333
- changeColor('background', undefined);
334
- break;
335
- }
336
- case 59: {
337
- // 默认下划线
338
- changeColor('underline', undefined);
339
- break;
340
- }
341
- case 73: {
342
- // 上标(向上靠)
343
- styleNames = styleNames.filter(
344
- (style) => style !== styles['code-superscript'] && style !== styles['code-subscript'],
345
- );
346
- styleNames.push(styles['code-superscript']);
347
- break;
348
- }
349
- case 74: {
350
- // 下标(向下靠)
351
- styleNames = styleNames.filter(
352
- (style) => style !== styles['code-superscript'] && style !== styles['code-subscript'],
353
- );
354
- styleNames.push(styles['code-subscript']);
355
- break;
356
- }
357
- case 75: {
358
- styleNames = styleNames.filter(
359
- (style) => style !== styles['code-superscript'] && style !== styles['code-subscript'],
360
- );
361
- break;
362
- }
363
- default: {
364
- await setBasicColor(code);
365
- break;
366
- }
367
- }
368
- }
369
- }
370
-
371
- /**
372
- * 计算和设置 24 位 ANSI 颜色代码的样式。
373
- * @see {@link https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97#24%E4%BD%8D }
374
- */
375
- function set24BitColor(styleCodes: number[], colorType: 'foreground' | 'background' | 'underline'): void {
376
- if (
377
- styleCodes.length >= 5 &&
378
- styleCodes[2] >= 0 &&
379
- styleCodes[2] <= 255 &&
380
- styleCodes[3] >= 0 &&
381
- styleCodes[3] <= 255 &&
382
- styleCodes[4] >= 0 &&
383
- styleCodes[4] <= 255
384
- ) {
385
- const customColor = new RGBA(styleCodes[2], styleCodes[3], styleCodes[4]);
386
- changeColor(colorType, customColor);
387
- }
388
- }
389
-
390
- /**
391
- * 计算和设置 8 位 ANSI 颜色代码的样式。
392
- * @see {@link https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97#8%E4%BD%8D }
393
- */
394
- async function set8BitColor(
395
- styleCodes: number[],
396
- colorType: 'foreground' | 'background' | 'underline',
397
- ): Promise<void> {
398
- let colorNumber = styleCodes[2];
399
- const color = calcANSI8bitColor(colorNumber);
400
-
401
- if (color) {
402
- changeColor(colorType, color);
403
- } else if (colorNumber >= 0 && colorNumber <= 15) {
404
- if (colorType === 'underline') {
405
- // 对于下划线颜色,我们只需将 0-15 颜色编号解码为主题颜色,设置并返回
406
- const theme = await themeService.getCurrentTheme();
407
- const colorName = ansiColorIdentifiers[colorNumber];
408
- const color = theme.getColor(colorName);
409
- if (color) {
410
- changeColor(colorType, color.rgba);
411
- }
412
- return;
413
- }
414
- // 映射到四种基本色的范围之一(30-37、90-97、40-47、100-107)
415
- colorNumber += 30;
416
- if (colorNumber >= 38) {
417
- // 亮色
418
- colorNumber += 52;
419
- }
420
- if (colorType === 'background') {
421
- colorNumber += 10;
422
- }
423
- await setBasicColor(colorNumber);
424
- }
425
- }
426
-
427
- /**
428
- * 计算和设置基本明亮和暗色 ANSI 颜色代码的样式
429
- */
430
- async function setBasicColor(styleCode: number): Promise<void> {
431
- const theme = await themeService.getCurrentTheme();
432
- let colorType: 'foreground' | 'background' | undefined;
433
- let colorIndex: number | undefined;
434
-
435
- if (styleCode >= 30 && styleCode <= 37) {
436
- colorIndex = styleCode - 30;
437
- colorType = 'foreground';
438
- } else if (styleCode >= 90 && styleCode <= 97) {
439
- colorIndex = styleCode - 90 + 8; // 亮色
440
- colorType = 'foreground';
441
- } else if (styleCode >= 40 && styleCode <= 47) {
442
- colorIndex = styleCode - 40;
443
- colorType = 'background';
444
- } else if (styleCode >= 100 && styleCode <= 107) {
445
- colorIndex = styleCode - 100 + 8; // 亮色
446
- colorType = 'background';
447
- }
448
-
449
- if (colorIndex !== undefined && colorType) {
450
- const colorName = ansiColorIdentifiers[colorIndex];
451
- const color = theme.getColor(colorName);
452
- if (color) {
453
- changeColor(colorType, color.rgba);
454
- }
455
- }
456
- }
457
- }
458
-
459
- export function appendStylizedStringToContainer(
460
- root: HTMLElement,
461
- stringContent: string,
462
- cssClasses: string[],
463
- linkDetector: LinkDetector,
464
- workspaceFolder: IWorkspaceFolder | undefined,
465
- customTextColor?: RGBA,
466
- customBackgroundColor?: RGBA,
467
- customUnderlineColor?: RGBA,
468
- ): void {
469
- if (!root || !stringContent) {
470
- return;
471
- }
472
-
473
- const container = linkDetector.linkify(stringContent, true, workspaceFolder);
474
-
475
- container.className = cssClasses.join(' ');
476
- if (customTextColor) {
477
- container.style.color = Color.Format.CSS.formatRGB(new Color(customTextColor));
478
- }
479
- if (customBackgroundColor) {
480
- container.style.backgroundColor = Color.Format.CSS.formatRGB(new Color(customBackgroundColor));
481
- }
482
- if (customUnderlineColor) {
483
- container.style.textDecorationColor = Color.Format.CSS.formatRGB(new Color(customUnderlineColor));
484
- }
485
- root.appendChild(container);
486
- }
487
-
488
- /**
489
- * 根据 ANSI 8 位标准中定义的颜色集计算颜色。
490
- * @see {@link https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97#8%E4%BD%8D }
491
- */
492
- export function calcANSI8bitColor(colorNumber: number): RGBA | undefined {
493
- if (colorNumber % 1 !== 0) {
494
- return;
495
- }
496
- if (colorNumber >= 16 && colorNumber <= 231) {
497
- // 转换为 216 种 RGB 颜色之一
498
- colorNumber -= 16;
499
-
500
- let blue: number = colorNumber % 6;
501
- colorNumber = (colorNumber - blue) / 6;
502
- let green: number = colorNumber % 6;
503
- colorNumber = (colorNumber - green) / 6;
504
- let red: number = colorNumber;
505
-
506
- // 将三原色从 [0, 5] 映射为 [0, 255]
507
- const convFactor: number = 255 / 5;
508
- blue = Math.round(blue * convFactor);
509
- green = Math.round(green * convFactor);
510
- red = Math.round(red * convFactor);
511
-
512
- return new RGBA(red, green, blue);
513
- } else if (colorNumber >= 232 && colorNumber <= 255) {
514
- // 转换为灰色值
515
- colorNumber -= 232;
516
- const colorLevel: number = Math.round((colorNumber / 23) * 255);
517
- return new RGBA(colorLevel, colorLevel, colorLevel);
518
- } else {
519
- return;
520
- }
521
- }