@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,433 +0,0 @@
1
- import { Injectable, Autowired, Injector, INJECTOR_TOKEN } from '@opensumi/di';
2
- import {
3
- IContextKeyService,
4
- MonacoOverrideServiceRegistry,
5
- ServiceNames,
6
- localize,
7
- StorageProvider,
8
- } from '@opensumi/ide-core-browser';
9
- import { Schemes, URI, CommandRegistry, Emitter, Event, STORAGE_NAMESPACE } from '@opensumi/ide-core-common';
10
- import { EditorCollectionService, IDecorationApplyOptions } from '@opensumi/ide-editor';
11
- import { IEditorDocumentModelService, ICodeEditor, getSimpleEditorOptions } from '@opensumi/ide-editor/lib/browser';
12
- import { MonacoCodeService } from '@opensumi/ide-editor/lib/browser/editor.override';
13
- import { IMainLayoutService } from '@opensumi/ide-main-layout';
14
- import { transparent, editorForeground, IThemeService } from '@opensumi/ide-theme';
15
- import { IHistoryNavigationWidget } from '@opensumi/monaco-editor-core/esm/vs/base/browser/history';
16
- import { HistoryNavigator } from '@opensumi/monaco-editor-core/esm/vs/base/common/history';
17
- import { ITextModel } from '@opensumi/monaco-editor-core/esm/vs/editor/common/model';
18
- import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
19
-
20
- import {
21
- DEBUG_CONSOLE_CONTAINER_ID,
22
- IDebugSessionManager,
23
- CONTEXT_IN_DEBUG_MODE_KEY,
24
- DebugState,
25
- } from '../../../common';
26
- import { DebugSessionManager } from '../../debug-session-manager';
27
-
28
- import { DebugContextKey } from './../../contextkeys/debug-contextkey.service';
29
- import { DebugConsoleModelService } from './debug-console-tree.model.service';
30
-
31
- const DECORATION_KEY = 'consoleinputdecoration';
32
- const HISTORY_STORAGE_KEY = 'debug.console.history';
33
- const DEBUG_CONSOLE_DEFAULT_HEIGHT = 18;
34
-
35
- const firstUpperCase = (str: string) => str.replace(/^\S/, (s) => s.toUpperCase());
36
-
37
- const consoleInputMonacoOptions: monaco.editor.IEditorOptions = {
38
- ...getSimpleEditorOptions(),
39
- scrollbar: {
40
- horizontal: 'visible',
41
- vertical: 'hidden',
42
- handleMouseWheel: true,
43
- },
44
- acceptSuggestionOnEnter: 'on',
45
- readOnly: true,
46
- };
47
-
48
- @Injectable()
49
- export class DebugConsoleService implements IHistoryNavigationWidget {
50
- @Autowired(DebugConsoleModelService)
51
- protected readonly debugConsoleModelService: DebugConsoleModelService;
52
-
53
- @Autowired(IMainLayoutService)
54
- protected readonly mainLayoutService: IMainLayoutService;
55
-
56
- @Autowired(IEditorDocumentModelService)
57
- protected readonly documentService: IEditorDocumentModelService;
58
-
59
- @Autowired(EditorCollectionService)
60
- protected readonly editorService: EditorCollectionService;
61
-
62
- @Autowired(CommandRegistry)
63
- protected readonly commands: CommandRegistry;
64
-
65
- @Autowired(IContextKeyService)
66
- protected readonly contextKeyService: IContextKeyService;
67
-
68
- @Autowired(IDebugSessionManager)
69
- protected readonly manager: DebugSessionManager;
70
-
71
- @Autowired(IThemeService)
72
- protected readonly themeService: IThemeService;
73
-
74
- @Autowired(MonacoOverrideServiceRegistry)
75
- private readonly overrideServicesRegistry: MonacoOverrideServiceRegistry;
76
-
77
- @Autowired(StorageProvider)
78
- private readonly storageProvider: StorageProvider;
79
-
80
- @Autowired(INJECTOR_TOKEN)
81
- private readonly injector: Injector;
82
-
83
- private debugContextKey: DebugContextKey;
84
-
85
- protected history: HistoryNavigator<string>;
86
- protected _consoleInputElement: HTMLDivElement | null = null;
87
- protected _updateDisposable: monaco.IDisposable | null = null;
88
- protected _consoleModel: ITextModel;
89
- protected get _isReadonly(): boolean {
90
- const session = this.manager.currentSession;
91
- if (session && session.state !== DebugState.Inactive) {
92
- return false;
93
- }
94
-
95
- return true;
96
- }
97
-
98
- private inputEditor?: ICodeEditor;
99
-
100
- public static keySet = new Set([CONTEXT_IN_DEBUG_MODE_KEY]);
101
-
102
- constructor() {
103
- this.contextKeyService.onDidChangeContext((e) => {
104
- if (e.payload.affectsSome(DebugConsoleService.keySet)) {
105
- const inDebugMode = this.contextKeyService.match(CONTEXT_IN_DEBUG_MODE_KEY);
106
- if (inDebugMode) {
107
- this.updateReadOnly(false);
108
- this.updateInputDecoration();
109
- this.debugContextKey.contextInDdebugMode.set(true);
110
- } else {
111
- this.updateReadOnly(true);
112
- if (this.debugContextKey) {
113
- this.debugContextKey.contextInDdebugMode.set(false);
114
- }
115
- }
116
- }
117
- });
118
- }
119
-
120
- // FIXME: 需要实现新增的属性及事件
121
- element: HTMLElement;
122
- onDidFocus: Event<void>;
123
- onDidBlur: Event<void>;
124
-
125
- private _onConsoleInputValueChange = new Emitter<URI>();
126
- public onConsoleInputValueChange: Event<URI> = this._onConsoleInputValueChange.event;
127
-
128
- private _onInputHeightChange = new Emitter<number>();
129
- public onInputHeightChange: Event<number> = this._onInputHeightChange.event;
130
-
131
- public get isVisible() {
132
- const bottomPanelHandler = this.mainLayoutService.getTabbarHandler(DEBUG_CONSOLE_CONTAINER_ID);
133
- return bottomPanelHandler && bottomPanelHandler.isVisible;
134
- }
135
-
136
- public get consoleModel(): DebugConsoleModelService {
137
- return this.debugConsoleModelService;
138
- }
139
-
140
- public activate() {
141
- const bottomPanelHandler = this.mainLayoutService.getTabbarHandler(DEBUG_CONSOLE_CONTAINER_ID);
142
- if (bottomPanelHandler && !bottomPanelHandler.isVisible) {
143
- bottomPanelHandler.activate();
144
- }
145
- }
146
-
147
- public focusInput(): void {
148
- if (this.inputEditor) {
149
- this.inputEditor.monacoEditor.focus();
150
- }
151
- }
152
-
153
- public async init(e: HTMLDivElement | null) {
154
- if (!e) {
155
- return;
156
- }
157
-
158
- const storage = await this.storageProvider(STORAGE_NAMESPACE.DEBUG);
159
- this.history = new HistoryNavigator(storage.get(HISTORY_STORAGE_KEY, []), 50);
160
-
161
- this._consoleInputElement = e;
162
- this.inputEditor = this.editorService.createCodeEditor(this._consoleInputElement!, {
163
- ...consoleInputMonacoOptions,
164
- });
165
-
166
- this.debugContextKey = this.injector.get(DebugContextKey, [
167
- (this.inputEditor.monacoEditor as any)._contextKeyService,
168
- ]);
169
-
170
- this.registerDecorationType();
171
- await this.createConsoleInput();
172
- this.setMode();
173
- }
174
-
175
- public get contextInDebugRepl() {
176
- return this.debugContextKey.contextInDebugRepl;
177
- }
178
-
179
- public get consoleInputValue() {
180
- return (this._consoleModel && this._consoleModel.getValue()) || '';
181
- }
182
-
183
- public showPreviousValue(): void {
184
- if (!this._isReadonly) {
185
- this.navigateHistory(true);
186
- }
187
- }
188
-
189
- public showNextValue(): void {
190
- if (!this._isReadonly) {
191
- this.navigateHistory(false);
192
- }
193
- }
194
-
195
- public async runExecute(): Promise<void> {
196
- if (!this.inputEditor) {
197
- return;
198
- }
199
-
200
- const editor = this.inputEditor.monacoEditor;
201
- const value = editor.getValue();
202
- await this.consoleModel.execute(value);
203
- this.history.add(value);
204
- editor.setValue('');
205
- }
206
-
207
- private navigateHistory(previous: boolean): void {
208
- const historyInput = previous ? this.history.previous() : this.history.next();
209
- if (historyInput && this.inputEditor && this.inputEditor.monacoEditor) {
210
- const { monacoEditor } = this.inputEditor;
211
- monacoEditor.setValue(historyInput);
212
- monacoEditor.setPosition({ lineNumber: 1, column: historyInput.length + 1 });
213
- }
214
- }
215
-
216
- private get consoleInputUri() {
217
- return new URI('debug/console/input').withScheme(Schemes.walkThroughSnippet);
218
- }
219
-
220
- private async createConsoleInput() {
221
- if (!this.inputEditor?.monacoEditor) {
222
- return;
223
- }
224
-
225
- const { monacoEditor } = this.inputEditor;
226
-
227
- const docModel = await this.documentService.createModelReference(this.consoleInputUri);
228
- const model = docModel.instance.getMonacoModel();
229
- model.updateOptions({ tabSize: 2 });
230
- this._consoleModel = model;
231
- monacoEditor.setModel(model);
232
-
233
- setTimeout(() => {
234
- this.layoutBody();
235
- }, 0);
236
-
237
- monacoEditor.onDidFocusEditorText(() => {
238
- this.contextInDebugRepl.set(true);
239
- this.updateInputDecoration();
240
- });
241
- monacoEditor.onDidBlurEditorText(() => {
242
- this.contextInDebugRepl.set(false);
243
- this.updateInputDecoration();
244
- });
245
- monacoEditor.onDidChangeModelContent(() => {
246
- const lineNum = monacoEditor.getModel()!.getLineCount();
247
- this.layoutBody(lineNum * 18);
248
- });
249
-
250
- this.manager.onDidChangeActiveDebugSession(() => {
251
- this.registerCompletion();
252
- this.setMode();
253
- });
254
-
255
- await this.updateInputDecoration();
256
- }
257
-
258
- private layoutBody(height?: number, width?: number): void {
259
- if (!this.inputEditor) {
260
- return;
261
- }
262
-
263
- const { monacoEditor } = this.inputEditor;
264
-
265
- const h = Math.max(height || DEBUG_CONSOLE_DEFAULT_HEIGHT, monacoEditor.getContentHeight());
266
-
267
- monacoEditor.layout({
268
- width: width || this._consoleInputElement?.offsetWidth!,
269
- height: h,
270
- });
271
-
272
- this._onInputHeightChange.fire(h);
273
- }
274
-
275
- private updateReadOnly(readOnly: boolean): void {
276
- if (this.inputEditor) {
277
- this.inputEditor.monacoEditor.updateOptions({ readOnly });
278
- }
279
- }
280
-
281
- private async updateInputDecoration(): Promise<void> {
282
- if (!this.inputEditor) {
283
- return;
284
- }
285
-
286
- const decorations: IDecorationApplyOptions[] = [];
287
- if (this._isReadonly && this.inputEditor.monacoEditor.hasTextFocus() && !this.inputEditor.monacoEditor.getValue()) {
288
- const transparentForeground = transparent(editorForeground, 0.4)(await this.themeService.getCurrentTheme());
289
- decorations.push({
290
- range: {
291
- startLineNumber: 0,
292
- endLineNumber: 0,
293
- startColumn: 0,
294
- endColumn: 1,
295
- },
296
- renderOptions: {
297
- after: {
298
- contentText: localize('debug.console.input.placeholder'),
299
- color: transparentForeground ? transparentForeground.toString() : undefined,
300
- },
301
- },
302
- });
303
- }
304
-
305
- this.inputEditor.monacoEditor.setDecorationsByType('debug-console-input', DECORATION_KEY, decorations as any[]);
306
- }
307
-
308
- private setMode(): void {
309
- if (!this.inputEditor) {
310
- return;
311
- }
312
-
313
- const session = this.manager.currentSession;
314
- if (!session) {
315
- return;
316
- }
317
-
318
- const model = session.currentEditor();
319
-
320
- if (model) {
321
- this.inputEditor.monacoEditor.getModel()!.setMode(model.getModel()?.getLanguageId()!);
322
- }
323
- }
324
-
325
- private registerDecorationType(): void {
326
- const codeEditorService = this.overrideServicesRegistry.getRegisteredService(
327
- ServiceNames.CODE_EDITOR_SERVICE,
328
- ) as MonacoCodeService;
329
- codeEditorService.registerDecorationType('console-input-decoration', DECORATION_KEY, {});
330
- }
331
-
332
- private registerCompletion(): void {
333
- if (this._updateDisposable) {
334
- this._updateDisposable.dispose();
335
- this._updateDisposable = null;
336
- }
337
-
338
- const session = this.manager.currentSession;
339
- if (!session) {
340
- return;
341
- }
342
-
343
- const model = session.currentEditor();
344
- if (!model) {
345
- return;
346
- }
347
-
348
- this._updateDisposable = monaco.languages.registerCompletionItemProvider(model.getModel()?.getLanguageId()!, {
349
- triggerCharacters: ['.'],
350
- provideCompletionItems: async (model, position, ctx) => {
351
- // 仅在支持自动补全查询的调试器中启用补全逻辑
352
- if (!this.manager.currentSession?.capabilities.supportsCompletionsRequest) {
353
- return;
354
- }
355
- if (model.uri.toString() !== this.consoleInputUri.toString()) {
356
- return null;
357
- }
358
-
359
- const session = this.manager.currentSession;
360
- const { triggerCharacter } = ctx;
361
-
362
- /**
363
- * 代码字符串处理
364
- */
365
- let value = model.getWordAtPosition(position);
366
- if (value && session) {
367
- const { word, startColumn, endColumn } = value;
368
- const res = await session.sendRequest('completions', {
369
- text: word,
370
- column: endColumn,
371
- frameId: session.currentFrame && session.currentFrame.raw.id,
372
- });
373
- return {
374
- suggestions: res.body.targets.map((item) => ({
375
- label: item.label,
376
- insertText: item.text || item.label,
377
- sortText: item.sortText,
378
- kind: monaco.languages.CompletionItemKind[firstUpperCase(item.type || 'property')],
379
- range: {
380
- startLineNumber: position.lineNumber,
381
- endLineNumber: position.lineNumber,
382
- startColumn,
383
- endColumn,
384
- },
385
- })),
386
- } as monaco.languages.CompletionList;
387
- }
388
-
389
- /**
390
- * 特殊字符处理
391
- */
392
- value = model.getWordAtPosition({
393
- lineNumber: position.lineNumber,
394
- column: position.column - 1,
395
- });
396
- if (value && session && triggerCharacter) {
397
- const { word, endColumn } = value;
398
-
399
- const res = await session.sendRequest('completions', {
400
- text: word + triggerCharacter,
401
- column: endColumn + 1,
402
- frameId: session.currentFrame && session.currentFrame.raw.id,
403
- });
404
- return {
405
- suggestions: res.body.targets.map((item) => ({
406
- label: item.label,
407
- insertText: item.text || item.label,
408
- sortText: item.sortText,
409
- kind: monaco.languages.CompletionItemKind[firstUpperCase(item.type || 'property')],
410
- range: {
411
- startLineNumber: position.lineNumber,
412
- endLineNumber: position.lineNumber,
413
- startColumn: endColumn + 1,
414
- endColumn: endColumn + 1,
415
- },
416
- })),
417
- } as monaco.languages.CompletionList;
418
- }
419
-
420
- return null;
421
- },
422
- });
423
- }
424
-
425
- disable() {
426
- if (this._updateDisposable) {
427
- this._updateDisposable.dispose();
428
- this._updateDisposable = null;
429
- }
430
- this.inputEditor?.monacoEditor.setValue('');
431
- this.inputEditor?.monacoEditor.setModel(null);
432
- }
433
- }