@opensumi/ide-debug 2.12.1-next-079c1930

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 (438) hide show
  1. package/lib/browser/assets/breakpoint-conditional-disabled.svg +4 -0
  2. package/lib/browser/assets/breakpoint-conditional-unverified.svg +4 -0
  3. package/lib/browser/assets/breakpoint-conditional.svg +4 -0
  4. package/lib/browser/assets/breakpoint-disabled.svg +4 -0
  5. package/lib/browser/assets/breakpoint-hint.svg +4 -0
  6. package/lib/browser/assets/breakpoint-log-disabled.svg +4 -0
  7. package/lib/browser/assets/breakpoint-log-unverified.svg +4 -0
  8. package/lib/browser/assets/breakpoint-log.svg +4 -0
  9. package/lib/browser/assets/breakpoint-unsupported.svg +4 -0
  10. package/lib/browser/assets/breakpoint-unverified.svg +4 -0
  11. package/lib/browser/assets/breakpoint.svg +4 -0
  12. package/lib/browser/assets/breakpoints-activate-inverse.svg +4 -0
  13. package/lib/browser/assets/breakpoints-activate.svg +4 -0
  14. package/lib/browser/assets/configure-inverse.svg +4 -0
  15. package/lib/browser/assets/configure.svg +4 -0
  16. package/lib/browser/assets/continue-inverse.svg +4 -0
  17. package/lib/browser/assets/current-and-breakpoint.svg +4 -0
  18. package/lib/browser/assets/current-arrow.svg +4 -0
  19. package/lib/browser/assets/remove-all-inverse.svg +4 -0
  20. package/lib/browser/assets/remove-all.svg +4 -0
  21. package/lib/browser/assets/repl-inverse.svg +4 -0
  22. package/lib/browser/assets/repl.svg +4 -0
  23. package/lib/browser/assets/restart-inverse.svg +4 -0
  24. package/lib/browser/assets/stackframe-and-breakpoint.svg +4 -0
  25. package/lib/browser/assets/stackframe-arrow.svg +4 -0
  26. package/lib/browser/assets/start-inverse.svg +4 -0
  27. package/lib/browser/breakpoint/breakpoint-decoration.d.ts +12 -0
  28. package/lib/browser/breakpoint/breakpoint-decoration.d.ts.map +1 -0
  29. package/lib/browser/breakpoint/breakpoint-decoration.js +53 -0
  30. package/lib/browser/breakpoint/breakpoint-decoration.js.map +1 -0
  31. package/lib/browser/breakpoint/breakpoint-manager.d.ts +87 -0
  32. package/lib/browser/breakpoint/breakpoint-manager.d.ts.map +1 -0
  33. package/lib/browser/breakpoint/breakpoint-manager.js +287 -0
  34. package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -0
  35. package/lib/browser/breakpoint/breakpoint-marker.d.ts +37 -0
  36. package/lib/browser/breakpoint/breakpoint-marker.d.ts.map +1 -0
  37. package/lib/browser/breakpoint/breakpoint-marker.js +46 -0
  38. package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -0
  39. package/lib/browser/breakpoint/index.d.ts +4 -0
  40. package/lib/browser/breakpoint/index.d.ts.map +1 -0
  41. package/lib/browser/breakpoint/index.js +7 -0
  42. package/lib/browser/breakpoint/index.js.map +1 -0
  43. package/lib/browser/components/debug-action/index.d.ts +11 -0
  44. package/lib/browser/components/debug-action/index.d.ts.map +1 -0
  45. package/lib/browser/components/debug-action/index.js +15 -0
  46. package/lib/browser/components/debug-action/index.js.map +1 -0
  47. package/lib/browser/components/debug-action/index.module.less +73 -0
  48. package/lib/browser/components/floating-click-widget/index.d.ts +3 -0
  49. package/lib/browser/components/floating-click-widget/index.d.ts.map +1 -0
  50. package/lib/browser/components/floating-click-widget/index.js +17 -0
  51. package/lib/browser/components/floating-click-widget/index.js.map +1 -0
  52. package/lib/browser/components/floating-click-widget/index.module.less +5 -0
  53. package/lib/browser/components/index.d.ts +2 -0
  54. package/lib/browser/components/index.d.ts.map +1 -0
  55. package/lib/browser/components/index.js +5 -0
  56. package/lib/browser/components/index.js.map +1 -0
  57. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts +4 -0
  58. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts.map +1 -0
  59. package/lib/browser/contextkeys/debug-call-stack-item-type-key.js +5 -0
  60. package/lib/browser/contextkeys/debug-call-stack-item-type-key.js.map +1 -0
  61. package/lib/browser/contextkeys/debug-contextkey.service.d.ts +16 -0
  62. package/lib/browser/contextkeys/debug-contextkey.service.d.ts.map +1 -0
  63. package/lib/browser/contextkeys/debug-contextkey.service.js +33 -0
  64. package/lib/browser/contextkeys/debug-contextkey.service.js.map +1 -0
  65. package/lib/browser/contextkeys/index.d.ts +2 -0
  66. package/lib/browser/contextkeys/index.d.ts.map +1 -0
  67. package/lib/browser/contextkeys/index.js +5 -0
  68. package/lib/browser/contextkeys/index.js.map +1 -0
  69. package/lib/browser/debug-configuration-manager.d.ts +86 -0
  70. package/lib/browser/debug-configuration-manager.d.ts.map +1 -0
  71. package/lib/browser/debug-configuration-manager.js +456 -0
  72. package/lib/browser/debug-configuration-manager.js.map +1 -0
  73. package/lib/browser/debug-configuration-model.d.ts +24 -0
  74. package/lib/browser/debug-configuration-model.d.ts.map +1 -0
  75. package/lib/browser/debug-configuration-model.js +55 -0
  76. package/lib/browser/debug-configuration-model.js.map +1 -0
  77. package/lib/browser/debug-contribution.d.ts +207 -0
  78. package/lib/browser/debug-contribution.d.ts.map +1 -0
  79. package/lib/browser/debug-contribution.js +764 -0
  80. package/lib/browser/debug-contribution.js.map +1 -0
  81. package/lib/browser/debug-link-detector.d.ts +13 -0
  82. package/lib/browser/debug-link-detector.d.ts.map +1 -0
  83. package/lib/browser/debug-link-detector.js +196 -0
  84. package/lib/browser/debug-link-detector.js.map +1 -0
  85. package/lib/browser/debug-preferences.d.ts +15 -0
  86. package/lib/browser/debug-preferences.d.ts.map +1 -0
  87. package/lib/browser/debug-preferences.js +57 -0
  88. package/lib/browser/debug-preferences.js.map +1 -0
  89. package/lib/browser/debug-progress.service.d.ts +13 -0
  90. package/lib/browser/debug-progress.service.d.ts.map +1 -0
  91. package/lib/browser/debug-progress.service.js +97 -0
  92. package/lib/browser/debug-progress.service.js.map +1 -0
  93. package/lib/browser/debug-schema-updater.d.ts +10 -0
  94. package/lib/browser/debug-schema-updater.d.ts.map +1 -0
  95. package/lib/browser/debug-schema-updater.js +74 -0
  96. package/lib/browser/debug-schema-updater.js.map +1 -0
  97. package/lib/browser/debug-service.d.ts +11 -0
  98. package/lib/browser/debug-service.d.ts.map +1 -0
  99. package/lib/browser/debug-service.js +43 -0
  100. package/lib/browser/debug-service.js.map +1 -0
  101. package/lib/browser/debug-session-connection.d.ts +107 -0
  102. package/lib/browser/debug-session-connection.d.ts.map +1 -0
  103. package/lib/browser/debug-session-connection.js +267 -0
  104. package/lib/browser/debug-session-connection.js.map +1 -0
  105. package/lib/browser/debug-session-contribution.d.ts +61 -0
  106. package/lib/browser/debug-session-contribution.d.ts.map +1 -0
  107. package/lib/browser/debug-session-contribution.js +116 -0
  108. package/lib/browser/debug-session-contribution.js.map +1 -0
  109. package/lib/browser/debug-session-manager.d.ts +130 -0
  110. package/lib/browser/debug-session-manager.d.ts.map +1 -0
  111. package/lib/browser/debug-session-manager.js +488 -0
  112. package/lib/browser/debug-session-manager.js.map +1 -0
  113. package/lib/browser/debug-session.d.ts +181 -0
  114. package/lib/browser/debug-session.d.ts.map +1 -0
  115. package/lib/browser/debug-session.js +898 -0
  116. package/lib/browser/debug-session.js.map +1 -0
  117. package/lib/browser/debug-style.less +125 -0
  118. package/lib/browser/debugUtils.d.ts +18 -0
  119. package/lib/browser/debugUtils.d.ts.map +1 -0
  120. package/lib/browser/debugUtils.js +91 -0
  121. package/lib/browser/debugUtils.js.map +1 -0
  122. package/lib/browser/editor/debug-breakpoint-widget.d.ts +29 -0
  123. package/lib/browser/editor/debug-breakpoint-widget.d.ts.map +1 -0
  124. package/lib/browser/editor/debug-breakpoint-widget.js +82 -0
  125. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -0
  126. package/lib/browser/editor/debug-breakpoint-zone-widget.d.ts +60 -0
  127. package/lib/browser/editor/debug-breakpoint-zone-widget.d.ts.map +1 -0
  128. package/lib/browser/editor/debug-breakpoint-zone-widget.js +198 -0
  129. package/lib/browser/editor/debug-breakpoint-zone-widget.js.map +1 -0
  130. package/lib/browser/editor/debug-breakpoint.module.less +29 -0
  131. package/lib/browser/editor/debug-editor-contribution.d.ts +27 -0
  132. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -0
  133. package/lib/browser/editor/debug-editor-contribution.js +354 -0
  134. package/lib/browser/editor/debug-editor-contribution.js.map +1 -0
  135. package/lib/browser/editor/debug-expression-provider.d.ts +12 -0
  136. package/lib/browser/editor/debug-expression-provider.d.ts.map +1 -0
  137. package/lib/browser/editor/debug-expression-provider.js +88 -0
  138. package/lib/browser/editor/debug-expression-provider.js.map +1 -0
  139. package/lib/browser/editor/debug-hover-model.d.ts +12 -0
  140. package/lib/browser/editor/debug-hover-model.d.ts.map +1 -0
  141. package/lib/browser/editor/debug-hover-model.js +43 -0
  142. package/lib/browser/editor/debug-hover-model.js.map +1 -0
  143. package/lib/browser/editor/debug-hover-source.d.ts +18 -0
  144. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -0
  145. package/lib/browser/editor/debug-hover-source.js +94 -0
  146. package/lib/browser/editor/debug-hover-source.js.map +1 -0
  147. package/lib/browser/editor/debug-hover-tree.model.service.d.ts +62 -0
  148. package/lib/browser/editor/debug-hover-tree.model.service.d.ts.map +1 -0
  149. package/lib/browser/editor/debug-hover-tree.model.service.js +284 -0
  150. package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -0
  151. package/lib/browser/editor/debug-hover-widget.d.ts +58 -0
  152. package/lib/browser/editor/debug-hover-widget.d.ts.map +1 -0
  153. package/lib/browser/editor/debug-hover-widget.js +152 -0
  154. package/lib/browser/editor/debug-hover-widget.js.map +1 -0
  155. package/lib/browser/editor/debug-hover.module.less +30 -0
  156. package/lib/browser/editor/debug-hover.view.d.ts +3 -0
  157. package/lib/browser/editor/debug-hover.view.d.ts.map +1 -0
  158. package/lib/browser/editor/debug-hover.view.js +86 -0
  159. package/lib/browser/editor/debug-hover.view.js.map +1 -0
  160. package/lib/browser/editor/debug-model-manager.d.ts +41 -0
  161. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -0
  162. package/lib/browser/editor/debug-model-manager.js +191 -0
  163. package/lib/browser/editor/debug-model-manager.js.map +1 -0
  164. package/lib/browser/editor/debug-model.d.ts +181 -0
  165. package/lib/browser/editor/debug-model.d.ts.map +1 -0
  166. package/lib/browser/editor/debug-model.js +673 -0
  167. package/lib/browser/editor/debug-model.js.map +1 -0
  168. package/lib/browser/editor/debug-run-to-cursor.service.d.ts +19 -0
  169. package/lib/browser/editor/debug-run-to-cursor.service.d.ts.map +1 -0
  170. package/lib/browser/editor/debug-run-to-cursor.service.js +145 -0
  171. package/lib/browser/editor/debug-run-to-cursor.service.js.map +1 -0
  172. package/lib/browser/editor/debug-styles.d.ts +13 -0
  173. package/lib/browser/editor/debug-styles.d.ts.map +1 -0
  174. package/lib/browser/editor/debug-styles.js +60 -0
  175. package/lib/browser/editor/debug-styles.js.map +1 -0
  176. package/lib/browser/editor/evaluatable-expression.d.ts +22 -0
  177. package/lib/browser/editor/evaluatable-expression.d.ts.map +1 -0
  178. package/lib/browser/editor/evaluatable-expression.js +24 -0
  179. package/lib/browser/editor/evaluatable-expression.js.map +1 -0
  180. package/lib/browser/editor/index.d.ts +7 -0
  181. package/lib/browser/editor/index.d.ts.map +1 -0
  182. package/lib/browser/editor/index.js +10 -0
  183. package/lib/browser/editor/index.js.map +1 -0
  184. package/lib/browser/editor/inline-values.d.ts +4 -0
  185. package/lib/browser/editor/inline-values.d.ts.map +1 -0
  186. package/lib/browser/editor/inline-values.js +6 -0
  187. package/lib/browser/editor/inline-values.js.map +1 -0
  188. package/lib/browser/index.d.ts +27 -0
  189. package/lib/browser/index.d.ts.map +1 -0
  190. package/lib/browser/index.js +135 -0
  191. package/lib/browser/index.js.map +1 -0
  192. package/lib/browser/markers/index.d.ts +3 -0
  193. package/lib/browser/markers/index.d.ts.map +1 -0
  194. package/lib/browser/markers/index.js +6 -0
  195. package/lib/browser/markers/index.js.map +1 -0
  196. package/lib/browser/markers/marker-manager.d.ts +62 -0
  197. package/lib/browser/markers/marker-manager.d.ts.map +1 -0
  198. package/lib/browser/markers/marker-manager.js +175 -0
  199. package/lib/browser/markers/marker-manager.js.map +1 -0
  200. package/lib/browser/markers/marker.d.ts +13 -0
  201. package/lib/browser/markers/marker.d.ts.map +1 -0
  202. package/lib/browser/markers/marker.js +3 -0
  203. package/lib/browser/markers/marker.js.map +1 -0
  204. package/lib/browser/model/debug-source.d.ts +46 -0
  205. package/lib/browser/model/debug-source.d.ts.map +1 -0
  206. package/lib/browser/model/debug-source.js +113 -0
  207. package/lib/browser/model/debug-source.js.map +1 -0
  208. package/lib/browser/model/debug-stack-frame.d.ts +30 -0
  209. package/lib/browser/model/debug-stack-frame.d.ts.map +1 -0
  210. package/lib/browser/model/debug-stack-frame.js +85 -0
  211. package/lib/browser/model/debug-stack-frame.js.map +1 -0
  212. package/lib/browser/model/debug-thread.d.ts +46 -0
  213. package/lib/browser/model/debug-thread.d.ts.map +1 -0
  214. package/lib/browser/model/debug-thread.js +140 -0
  215. package/lib/browser/model/debug-thread.js.map +1 -0
  216. package/lib/browser/model/debug-watch.d.ts +39 -0
  217. package/lib/browser/model/debug-watch.d.ts.map +1 -0
  218. package/lib/browser/model/debug-watch.js +97 -0
  219. package/lib/browser/model/debug-watch.js.map +1 -0
  220. package/lib/browser/model/index.d.ts +5 -0
  221. package/lib/browser/model/index.d.ts.map +1 -0
  222. package/lib/browser/model/index.js +8 -0
  223. package/lib/browser/model/index.js.map +1 -0
  224. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +6 -0
  225. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -0
  226. package/lib/browser/preferences/launch-folder-preference-provider.js +29 -0
  227. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -0
  228. package/lib/browser/preferences/launch-preferences-contribution.d.ts +6 -0
  229. package/lib/browser/preferences/launch-preferences-contribution.d.ts.map +1 -0
  230. package/lib/browser/preferences/launch-preferences-contribution.js +17 -0
  231. package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -0
  232. package/lib/browser/preferences/launch-preferences.d.ts +3 -0
  233. package/lib/browser/preferences/launch-preferences.d.ts.map +1 -0
  234. package/lib/browser/preferences/launch-preferences.js +16 -0
  235. package/lib/browser/preferences/launch-preferences.js.map +1 -0
  236. package/lib/browser/tree/debug-console-tree-node.define.d.ts +29 -0
  237. package/lib/browser/tree/debug-console-tree-node.define.d.ts.map +1 -0
  238. package/lib/browser/tree/debug-console-tree-node.define.js +68 -0
  239. package/lib/browser/tree/debug-console-tree-node.define.js.map +1 -0
  240. package/lib/browser/tree/debug-tree-node.define.d.ts +199 -0
  241. package/lib/browser/tree/debug-tree-node.define.d.ts.map +1 -0
  242. package/lib/browser/tree/debug-tree-node.define.js +583 -0
  243. package/lib/browser/tree/debug-tree-node.define.js.map +1 -0
  244. package/lib/browser/tree/index.d.ts +3 -0
  245. package/lib/browser/tree/index.d.ts.map +1 -0
  246. package/lib/browser/tree/index.js +6 -0
  247. package/lib/browser/tree/index.js.map +1 -0
  248. package/lib/browser/view/breakpoints/debug-breakpoints.module.less +71 -0
  249. package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts +42 -0
  250. package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts.map +1 -0
  251. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +228 -0
  252. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -0
  253. package/lib/browser/view/breakpoints/debug-breakpoints.view.d.ts +19 -0
  254. package/lib/browser/view/breakpoints/debug-breakpoints.view.d.ts.map +1 -0
  255. package/lib/browser/view/breakpoints/debug-breakpoints.view.js +108 -0
  256. package/lib/browser/view/breakpoints/debug-breakpoints.view.js.map +1 -0
  257. package/lib/browser/view/configuration/debug-configuration.module.less +101 -0
  258. package/lib/browser/view/configuration/debug-configuration.service.d.ts +36 -0
  259. package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -0
  260. package/lib/browser/view/configuration/debug-configuration.service.js +186 -0
  261. package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -0
  262. package/lib/browser/view/configuration/debug-configuration.view.d.ts +3 -0
  263. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -0
  264. package/lib/browser/view/configuration/debug-configuration.view.js +106 -0
  265. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -0
  266. package/lib/browser/view/configuration/debug-toolbar.service.d.ts +30 -0
  267. package/lib/browser/view/configuration/debug-toolbar.service.d.ts.map +1 -0
  268. package/lib/browser/view/configuration/debug-toolbar.service.js +173 -0
  269. package/lib/browser/view/configuration/debug-toolbar.service.js.map +1 -0
  270. package/lib/browser/view/configuration/debug-toolbar.view.d.ts +7 -0
  271. package/lib/browser/view/configuration/debug-toolbar.view.d.ts.map +1 -0
  272. package/lib/browser/view/configuration/debug-toolbar.view.js +171 -0
  273. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -0
  274. package/lib/browser/view/console/debug-console-filter.model.d.ts +8 -0
  275. package/lib/browser/view/console/debug-console-filter.model.d.ts.map +1 -0
  276. package/lib/browser/view/console/debug-console-filter.model.js +53 -0
  277. package/lib/browser/view/console/debug-console-filter.model.js.map +1 -0
  278. package/lib/browser/view/console/debug-console-filter.service.d.ts +23 -0
  279. package/lib/browser/view/console/debug-console-filter.service.d.ts.map +1 -0
  280. package/lib/browser/view/console/debug-console-filter.service.js +66 -0
  281. package/lib/browser/view/console/debug-console-filter.service.js.map +1 -0
  282. package/lib/browser/view/console/debug-console-filter.view.d.ts +6 -0
  283. package/lib/browser/view/console/debug-console-filter.view.d.ts.map +1 -0
  284. package/lib/browser/view/console/debug-console-filter.view.js +63 -0
  285. package/lib/browser/view/console/debug-console-filter.view.js.map +1 -0
  286. package/lib/browser/view/console/debug-console-model.d.ts +18 -0
  287. package/lib/browser/view/console/debug-console-model.d.ts.map +1 -0
  288. package/lib/browser/view/console/debug-console-model.js +52 -0
  289. package/lib/browser/view/console/debug-console-model.js.map +1 -0
  290. package/lib/browser/view/console/debug-console-session.d.ts +32 -0
  291. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -0
  292. package/lib/browser/view/console/debug-console-session.js +113 -0
  293. package/lib/browser/view/console/debug-console-session.js.map +1 -0
  294. package/lib/browser/view/console/debug-console-toolbar.view.d.ts +3 -0
  295. package/lib/browser/view/console/debug-console-toolbar.view.d.ts.map +1 -0
  296. package/lib/browser/view/console/debug-console-toolbar.view.js +20 -0
  297. package/lib/browser/view/console/debug-console-toolbar.view.js.map +1 -0
  298. package/lib/browser/view/console/debug-console-tree.model.service.d.ts +90 -0
  299. package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -0
  300. package/lib/browser/view/console/debug-console-tree.model.service.js +460 -0
  301. package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -0
  302. package/lib/browser/view/console/debug-console.contribution.d.ts +20 -0
  303. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -0
  304. package/lib/browser/view/console/debug-console.contribution.js +164 -0
  305. package/lib/browser/view/console/debug-console.contribution.js.map +1 -0
  306. package/lib/browser/view/console/debug-console.module.less +321 -0
  307. package/lib/browser/view/console/debug-console.service.d.ts +67 -0
  308. package/lib/browser/view/console/debug-console.service.d.ts.map +1 -0
  309. package/lib/browser/view/console/debug-console.service.js +397 -0
  310. package/lib/browser/view/console/debug-console.service.js.map +1 -0
  311. package/lib/browser/view/console/debug-console.view.d.ts +25 -0
  312. package/lib/browser/view/console/debug-console.view.d.ts.map +1 -0
  313. package/lib/browser/view/console/debug-console.view.js +299 -0
  314. package/lib/browser/view/console/debug-console.view.js.map +1 -0
  315. package/lib/browser/view/debug-view-model.d.ts +54 -0
  316. package/lib/browser/view/debug-view-model.d.ts.map +1 -0
  317. package/lib/browser/view/debug-view-model.js +161 -0
  318. package/lib/browser/view/debug-view-model.js.map +1 -0
  319. package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts +14 -0
  320. package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts.map +1 -0
  321. package/lib/browser/view/frames/debug-call-stack-frame.view.js +143 -0
  322. package/lib/browser/view/frames/debug-call-stack-frame.view.js.map +1 -0
  323. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts +10 -0
  324. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -0
  325. package/lib/browser/view/frames/debug-call-stack-session.view.js +148 -0
  326. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -0
  327. package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts +12 -0
  328. package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -0
  329. package/lib/browser/view/frames/debug-call-stack-thread.view.js +52 -0
  330. package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -0
  331. package/lib/browser/view/frames/debug-call-stack.contribution.d.ts +10 -0
  332. package/lib/browser/view/frames/debug-call-stack.contribution.d.ts.map +1 -0
  333. package/lib/browser/view/frames/debug-call-stack.contribution.js +81 -0
  334. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -0
  335. package/lib/browser/view/frames/debug-call-stack.module.less +195 -0
  336. package/lib/browser/view/frames/debug-call-stack.operation.d.ts +9 -0
  337. package/lib/browser/view/frames/debug-call-stack.operation.d.ts.map +1 -0
  338. package/lib/browser/view/frames/debug-call-stack.operation.js +43 -0
  339. package/lib/browser/view/frames/debug-call-stack.operation.js.map +1 -0
  340. package/lib/browser/view/frames/debug-call-stack.service.d.ts +12 -0
  341. package/lib/browser/view/frames/debug-call-stack.service.d.ts.map +1 -0
  342. package/lib/browser/view/frames/debug-call-stack.service.js +94 -0
  343. package/lib/browser/view/frames/debug-call-stack.service.js.map +1 -0
  344. package/lib/browser/view/frames/debug-call-stack.view.d.ts +6 -0
  345. package/lib/browser/view/frames/debug-call-stack.view.d.ts.map +1 -0
  346. package/lib/browser/view/frames/debug-call-stack.view.js +32 -0
  347. package/lib/browser/view/frames/debug-call-stack.view.js.map +1 -0
  348. package/lib/browser/view/variables/debug-variables-model.d.ts +12 -0
  349. package/lib/browser/view/variables/debug-variables-model.d.ts.map +1 -0
  350. package/lib/browser/view/variables/debug-variables-model.js +43 -0
  351. package/lib/browser/view/variables/debug-variables-model.js.map +1 -0
  352. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts +65 -0
  353. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -0
  354. package/lib/browser/view/variables/debug-variables-tree.model.service.js +376 -0
  355. package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -0
  356. package/lib/browser/view/variables/debug-variables.contribution.d.ts +14 -0
  357. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -0
  358. package/lib/browser/view/variables/debug-variables.contribution.js +155 -0
  359. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -0
  360. package/lib/browser/view/variables/debug-variables.module.less +176 -0
  361. package/lib/browser/view/variables/debug-variables.view.d.ts +21 -0
  362. package/lib/browser/view/variables/debug-variables.view.d.ts.map +1 -0
  363. package/lib/browser/view/variables/debug-variables.view.js +151 -0
  364. package/lib/browser/view/variables/debug-variables.view.js.map +1 -0
  365. package/lib/browser/view/watch/debug-watch-model.d.ts +12 -0
  366. package/lib/browser/view/watch/debug-watch-model.d.ts.map +1 -0
  367. package/lib/browser/view/watch/debug-watch-model.js +43 -0
  368. package/lib/browser/view/watch/debug-watch-model.js.map +1 -0
  369. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts +91 -0
  370. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -0
  371. package/lib/browser/view/watch/debug-watch-tree.model.service.js +480 -0
  372. package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -0
  373. package/lib/browser/view/watch/debug-watch.contribution.d.ts +12 -0
  374. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -0
  375. package/lib/browser/view/watch/debug-watch.contribution.js +143 -0
  376. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -0
  377. package/lib/browser/view/watch/debug-watch.module.less +214 -0
  378. package/lib/browser/view/watch/debug-watch.view.d.ts +21 -0
  379. package/lib/browser/view/watch/debug-watch.view.d.ts.map +1 -0
  380. package/lib/browser/view/watch/debug-watch.view.js +194 -0
  381. package/lib/browser/view/watch/debug-watch.view.js.map +1 -0
  382. package/lib/common/constants.d.ts +57 -0
  383. package/lib/common/constants.d.ts.map +1 -0
  384. package/lib/common/constants.js +61 -0
  385. package/lib/common/constants.js.map +1 -0
  386. package/lib/common/debug-configuration.d.ts +56 -0
  387. package/lib/common/debug-configuration.d.ts.map +1 -0
  388. package/lib/common/debug-configuration.js +15 -0
  389. package/lib/common/debug-configuration.js.map +1 -0
  390. package/lib/common/debug-editor.d.ts +4 -0
  391. package/lib/common/debug-editor.d.ts.map +1 -0
  392. package/lib/common/debug-editor.js +5 -0
  393. package/lib/common/debug-editor.js.map +1 -0
  394. package/lib/common/debug-model.d.ts +104 -0
  395. package/lib/common/debug-model.d.ts.map +1 -0
  396. package/lib/common/debug-model.js +10 -0
  397. package/lib/common/debug-model.js.map +1 -0
  398. package/lib/common/debug-progress.d.ts +7 -0
  399. package/lib/common/debug-progress.d.ts.map +1 -0
  400. package/lib/common/debug-progress.js +5 -0
  401. package/lib/common/debug-progress.js.map +1 -0
  402. package/lib/common/debug-schema-updater.d.ts +2 -0
  403. package/lib/common/debug-schema-updater.d.ts.map +1 -0
  404. package/lib/common/debug-schema-updater.js +5 -0
  405. package/lib/common/debug-schema-updater.js.map +1 -0
  406. package/lib/common/debug-service.d.ts +76 -0
  407. package/lib/common/debug-service.d.ts.map +1 -0
  408. package/lib/common/debug-service.js +16 -0
  409. package/lib/common/debug-service.js.map +1 -0
  410. package/lib/common/debug-session-options.d.ts +14 -0
  411. package/lib/common/debug-session-options.d.ts.map +1 -0
  412. package/lib/common/debug-session-options.js +11 -0
  413. package/lib/common/debug-session-options.js.map +1 -0
  414. package/lib/common/debug-session.d.ts +81 -0
  415. package/lib/common/debug-session.d.ts.map +1 -0
  416. package/lib/common/debug-session.js +19 -0
  417. package/lib/common/debug-session.js.map +1 -0
  418. package/lib/common/evaluatable-expression.d.ts +38 -0
  419. package/lib/common/evaluatable-expression.d.ts.map +1 -0
  420. package/lib/common/evaluatable-expression.js +3 -0
  421. package/lib/common/evaluatable-expression.js.map +1 -0
  422. package/lib/common/index.d.ts +12 -0
  423. package/lib/common/index.d.ts.map +1 -0
  424. package/lib/common/index.js +15 -0
  425. package/lib/common/index.js.map +1 -0
  426. package/lib/common/inline-values.d.ts +65 -0
  427. package/lib/common/inline-values.d.ts.map +1 -0
  428. package/lib/common/inline-values.js +4 -0
  429. package/lib/common/inline-values.js.map +1 -0
  430. package/lib/common/types.d.ts +80 -0
  431. package/lib/common/types.d.ts.map +1 -0
  432. package/lib/common/types.js +51 -0
  433. package/lib/common/types.js.map +1 -0
  434. package/lib/index.d.ts +2 -0
  435. package/lib/index.d.ts.map +1 -0
  436. package/lib/index.js +5 -0
  437. package/lib/index.js.map +1 -0
  438. package/package.json +48 -0
@@ -0,0 +1,673 @@
1
+ "use strict";
2
+ var DebugModel_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DebugModel = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const monaco = (0, tslib_1.__importStar)(require("@opensumi/monaco-editor-core/esm/vs/editor/editor.api"));
7
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
+ const di_1 = require("@opensumi/di");
9
+ const debug_session_manager_1 = require("../debug-session-manager");
10
+ const debug_breakpoint_widget_1 = require("./debug-breakpoint-widget");
11
+ const breakpoint_1 = require("../breakpoint");
12
+ const debug_editor_1 = require("../../common/debug-editor");
13
+ const debug_session_1 = require("../../common/debug-session");
14
+ const debug_hover_widget_1 = require("./debug-hover-widget");
15
+ const debounce = require("lodash.debounce");
16
+ const options = (0, tslib_1.__importStar)(require("./debug-styles"));
17
+ const breakpoint_2 = require("../breakpoint");
18
+ const common_1 = require("../../common");
19
+ const next_1 = require("@opensumi/ide-core-browser/lib/menu/next");
20
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
21
+ const breakpoint_decoration_1 = require("../breakpoint/breakpoint-decoration");
22
+ let DebugModel = DebugModel_1 = class DebugModel {
23
+ constructor() {
24
+ this.toDispose = new ide_core_common_1.DisposableCollection();
25
+ this.frameDecorations = [];
26
+ this.updatingDecorations = false;
27
+ this.breakpointDecorations = [];
28
+ this.breakpointRanges = new Map();
29
+ this.currentBreakpointDecorations = [];
30
+ this.candidateDecorations = [];
31
+ /**
32
+ * 渲染当前堆栈对应的装饰器
33
+ *
34
+ * @protected
35
+ * @type {*}
36
+ * @memberof DebugModel
37
+ */
38
+ this.renderFrames = debounce(() => {
39
+ var _a;
40
+ if (this.toDispose.disposed) {
41
+ return;
42
+ }
43
+ if (((_a = this.editor.getModel()) === null || _a === void 0 ? void 0 : _a.uri.toString()) !== this.uri.toString()) {
44
+ return;
45
+ }
46
+ const decorations = this.createFrameDecorations();
47
+ this.frameDecorations = this.deltaDecorations(this.frameDecorations, decorations);
48
+ }, 100);
49
+ /**
50
+ * 断点开关函数
51
+ * @memberof DebugModel
52
+ */
53
+ this.toggleBreakpoint = (position = this.position) => {
54
+ this.doToggleBreakpoint(position);
55
+ };
56
+ this.openBreakpointView = (position, context, defaultContext) => {
57
+ this.breakpointWidget.show(position, context, defaultContext);
58
+ };
59
+ this.closeBreakpointView = () => {
60
+ this.breakpointWidget.hide();
61
+ };
62
+ this.acceptBreakpoint = () => {
63
+ const { position, values } = this.breakpointWidget;
64
+ this.reporterService.point(common_1.DEBUG_REPORT_NAME === null || common_1.DEBUG_REPORT_NAME === void 0 ? void 0 : common_1.DEBUG_REPORT_NAME.DEBUG_BREAKPOINT, this.breakpointWidget.breakpointType);
65
+ if (position && values) {
66
+ const breakpoint = this.getBreakpoint(position);
67
+ if (breakpoint) {
68
+ breakpoint.raw.condition = values.condition;
69
+ breakpoint.raw.hitCondition = values.hitCondition;
70
+ breakpoint.raw.logMessage = values.logMessage;
71
+ this.breakpointManager.updateBreakpoint(breakpoint);
72
+ }
73
+ else {
74
+ this.breakpointManager.addBreakpoint(breakpoint_2.DebugBreakpoint.create(this.uri, Object.assign({ line: position.lineNumber }, values)));
75
+ }
76
+ this.breakpointWidget.hide();
77
+ }
78
+ };
79
+ this.hintDecorations = [];
80
+ this.init();
81
+ }
82
+ static createContainer(injector, editor) {
83
+ const child = injector.createChild([
84
+ {
85
+ token: debug_editor_1.DebugEditor,
86
+ useValue: editor,
87
+ },
88
+ {
89
+ token: debug_hover_widget_1.DebugHoverWidget,
90
+ useClass: debug_hover_widget_1.DebugHoverWidget,
91
+ },
92
+ {
93
+ token: debug_breakpoint_widget_1.DebugBreakpointWidget,
94
+ useClass: debug_breakpoint_widget_1.DebugBreakpointWidget,
95
+ },
96
+ {
97
+ token: common_1.IDebugModel,
98
+ useClass: DebugModel_1,
99
+ },
100
+ ]);
101
+ return child;
102
+ }
103
+ static createModel(injector, editor) {
104
+ return DebugModel_1.createContainer(injector, editor).get(common_1.IDebugModel);
105
+ }
106
+ async init() {
107
+ const model = this.editor.getModel();
108
+ this.uri = new ide_core_common_1.URI(model.uri.toString());
109
+ this.decorator = new breakpoint_decoration_1.DebugDecorator();
110
+ this.toDispose.pushAll([
111
+ this.breakpointWidget,
112
+ this.editor.onKeyDown(() => this.debugHoverWidget.hide({ immediate: false })),
113
+ this.editor.onDidChangeModelContent(() => this.renderFrames()),
114
+ this.debugSessionManager.onDidChange(() => this.renderFrames()),
115
+ this.editor.getModel().onDidChangeContent(() => this.updateBreakpoints()),
116
+ this.editor.onDidChangeModel(() => {
117
+ this.closeBreakpointView();
118
+ }),
119
+ ]);
120
+ this.renderFrames();
121
+ this.render();
122
+ }
123
+ dispose() {
124
+ this.toDispose.dispose();
125
+ }
126
+ get position() {
127
+ return this._position || this.editor.getPosition();
128
+ }
129
+ get breakpoint() {
130
+ return this.getBreakpoint();
131
+ }
132
+ getBreakpoint(position = this.position) {
133
+ return this.breakpointManager.getBreakpoint(this.uri, position.lineNumber);
134
+ }
135
+ /**
136
+ * 根据当前堆栈信息生成对应的编辑器装饰器描述
137
+ */
138
+ createFrameDecorations() {
139
+ var _a;
140
+ const decorations = [];
141
+ const { currentFrame, topFrame } = this.debugSessionManager;
142
+ if (!currentFrame || !currentFrame.source || currentFrame.source.uri.toString() !== ((_a = this.editor.getModel()) === null || _a === void 0 ? void 0 : _a.uri.toString())) {
143
+ return decorations;
144
+ }
145
+ // tslint:disable-next-line:no-bitwise
146
+ const columnUntilEOLRange = new monaco.Range(currentFrame.raw.line, currentFrame.raw.column, currentFrame.raw.line, 1 << 30);
147
+ const range = new monaco.Range(currentFrame.raw.line, currentFrame.raw.column, currentFrame.raw.line, currentFrame.raw.column + 1);
148
+ if (topFrame === currentFrame) {
149
+ decorations.push({
150
+ options: options.TOP_STACK_FRAME_MARGIN,
151
+ range,
152
+ });
153
+ if (currentFrame.thread.stoppedDetails && currentFrame.thread.stoppedDetails.reason === 'exception') {
154
+ decorations.push({
155
+ options: options.TOP_STACK_FRAME_EXCEPTION_DECORATION,
156
+ range: columnUntilEOLRange,
157
+ });
158
+ }
159
+ else {
160
+ decorations.push({
161
+ options: options.TOP_STACK_FRAME_DECORATION,
162
+ range: columnUntilEOLRange,
163
+ });
164
+ const { topFrameRange } = this;
165
+ if (topFrameRange && topFrameRange.startLineNumber === currentFrame.raw.line && topFrameRange.startColumn !== currentFrame.raw.column) {
166
+ decorations.push({
167
+ options: options.TOP_STACK_FRAME_INLINE_DECORATION,
168
+ range: columnUntilEOLRange,
169
+ });
170
+ }
171
+ this.topFrameRange = columnUntilEOLRange;
172
+ }
173
+ }
174
+ else {
175
+ decorations.push({
176
+ options: options.FOCUSED_STACK_FRAME_MARGIN,
177
+ range,
178
+ });
179
+ decorations.push({
180
+ options: options.FOCUSED_STACK_FRAME_DECORATION,
181
+ range: columnUntilEOLRange,
182
+ });
183
+ }
184
+ return decorations;
185
+ }
186
+ /**
187
+ * 根据传入的装饰器修饰编辑器界面
188
+ * @param oldDecorations
189
+ * @param newDecorations
190
+ */
191
+ deltaDecorations(oldDecorations, newDecorations) {
192
+ this.updatingDecorations = true;
193
+ try {
194
+ return this.editor.deltaDecorations(oldDecorations, newDecorations);
195
+ }
196
+ finally {
197
+ this.updatingDecorations = false;
198
+ }
199
+ }
200
+ /**
201
+ * 装饰堆栈文件
202
+ * @param {DebugStackFrame} frame
203
+ * @memberof DebugModel
204
+ */
205
+ focusStackFrame(frame) {
206
+ this.renderFrames();
207
+ }
208
+ render() {
209
+ this.renderBreakpoints();
210
+ this.renderFrames();
211
+ }
212
+ /**
213
+ * 渲染断点信息装饰器
214
+ * @memberof DebugModel
215
+ */
216
+ renderBreakpoints() {
217
+ this.renderNormalBreakpoints();
218
+ this.renderCurrentBreakpoints();
219
+ }
220
+ /**
221
+ * 渲染所有断点
222
+ * @protected
223
+ * @memberof DebugModel
224
+ */
225
+ renderNormalBreakpoints() {
226
+ const decorations = this.createBreakpointDecorations();
227
+ this.breakpointDecorations = this.deltaDecorations(this.breakpointDecorations, decorations);
228
+ this.updateBreakpointRanges();
229
+ }
230
+ updateBreakpoints() {
231
+ if (this.areBreakpointsAffected()) {
232
+ const breakpoints = this.createBreakpoints();
233
+ this.breakpointManager.setBreakpoints(this.uri, breakpoints);
234
+ }
235
+ }
236
+ areBreakpointsAffected() {
237
+ if (this.updatingDecorations || !this.editor.getModel()) {
238
+ return false;
239
+ }
240
+ for (const decoration of this.breakpointDecorations) {
241
+ const range = this.editor.getModel().getDecorationRange(decoration);
242
+ const oldRange = this.breakpointRanges.get(decoration);
243
+ if (!range || !range.equalsRange(oldRange)) {
244
+ return true;
245
+ }
246
+ }
247
+ return false;
248
+ }
249
+ /**
250
+ * 创建断点
251
+ * @protected
252
+ * @returns {DebugBreakpoint[]}
253
+ * @memberof DebugModel
254
+ */
255
+ createBreakpoints() {
256
+ const { uri } = this;
257
+ const lines = new Set();
258
+ const breakpoints = [];
259
+ for (const decoration of this.breakpointDecorations) {
260
+ const range = this.editor.getModel().getDecorationRange(decoration);
261
+ if (range && !lines.has(range.startLineNumber)) {
262
+ const line = range.startLineNumber;
263
+ const oldRange = this.breakpointRanges.get(decoration);
264
+ const oldBreakpoint = oldRange && this.breakpointManager.getBreakpoint(uri, oldRange.startLineNumber) || {};
265
+ const breakpoint = breakpoint_2.DebugBreakpoint.create(uri, Object.assign(Object.assign({}, (oldBreakpoint.raw || {})), { line }), oldBreakpoint.enabled);
266
+ breakpoints.push(breakpoint);
267
+ lines.add(line);
268
+ }
269
+ }
270
+ return breakpoints;
271
+ }
272
+ /**
273
+ * 生成多个断点的装饰器数组
274
+ * @protected
275
+ * @returns {monaco.editor.IModelDeltaDecoration[]}
276
+ * @memberof DebugModel
277
+ */
278
+ createBreakpointDecorations() {
279
+ const breakpoints = this.breakpointManager.getBreakpoints(this.uri);
280
+ return breakpoints.map((breakpoint) => this.createBreakpointDecoration(breakpoint));
281
+ }
282
+ /**
283
+ * 根据断点生成装饰器
284
+ * @protected
285
+ * @param {DebugBreakpoint} breakpoint
286
+ * @returns {monaco.editor.IModelDeltaDecoration}
287
+ * @memberof DebugModel
288
+ */
289
+ createBreakpointDecoration(breakpoint) {
290
+ const lineNumber = breakpoint.raw.line;
291
+ const column = breakpoint.raw.column || 1;
292
+ const range = new monaco.Range(lineNumber, column, lineNumber, column + 1);
293
+ return {
294
+ range,
295
+ options: {
296
+ description: 'breakpoint-decoration',
297
+ stickiness: options.STICKINESS,
298
+ },
299
+ };
300
+ }
301
+ /**
302
+ * 渲染当前命中的断点装饰器
303
+ * @protected
304
+ * @memberof DebugModel
305
+ */
306
+ async renderCurrentBreakpoints() {
307
+ const breakpoints = this.breakpointManager.getBreakpoints(this.uri);
308
+ const decorations = this.createCurrentBreakpointDecorations();
309
+ const decorationIds = this.deltaDecorations(this.currentBreakpointDecorations.map(({ decorationId }) => decorationId), decorations);
310
+ this.currentBreakpointDecorations.forEach((item) => {
311
+ if (item.inlineWidget) {
312
+ item.inlineWidget.dispose();
313
+ }
314
+ });
315
+ this.currentBreakpointDecorations = decorationIds.map((decorationId, index) => {
316
+ const decoration = decorations[index];
317
+ const breakpoint = breakpoints[index];
318
+ const icon = (breakpoint.enabled ? options.BREAKPOINT_DECORATION : options.BREAKPOINT_DECORATION_DISABLED).glyphMarginClassName;
319
+ const inlineWidget = decoration.options.beforeContentClassName ? new InlineBreakpointWidget(this.editor, decorationId, icon, breakpoint, this.breakpointManager) : undefined;
320
+ return {
321
+ breakpoint,
322
+ decorationId,
323
+ inlineWidget,
324
+ };
325
+ });
326
+ const desiredCandidateDecorations = await this.getCandidateBreakpoints(breakpoints);
327
+ const candidateDecorationIds = this.deltaDecorations(this.candidateDecorations.map(({ decorationId }) => decorationId), desiredCandidateDecorations);
328
+ this.candidateDecorations.forEach((candidate) => {
329
+ candidate.inlineWidget.dispose();
330
+ });
331
+ this.candidateDecorations = candidateDecorationIds.map((decorationId, index) => {
332
+ const { breakpoint } = desiredCandidateDecorations[index];
333
+ const icon = (breakpoint ? options.BREAKPOINT_DECORATION : options.BREAKPOINT_DECORATION_DISABLED).glyphMarginClassName;
334
+ const inlineWidget = new InlineBreakpointWidget(this.editor, decorationId, icon, breakpoint, this.breakpointManager);
335
+ return {
336
+ decorationId,
337
+ inlineWidget,
338
+ };
339
+ });
340
+ }
341
+ async getCandidateBreakpoints(breakpoints) {
342
+ const model = this.editor.getModel();
343
+ const session = this.debugSessionManager.currentSession;
344
+ if (!model || !(session === null || session === void 0 ? void 0 : session.capabilities.supportsBreakpointLocationsRequest)) {
345
+ return [];
346
+ }
347
+ const lineNumbers = Array.from(new Set(breakpoints.map((item) => item.raw.line)));
348
+ const result = [];
349
+ await Promise.all(lineNumbers.map(async (lineNumber) => {
350
+ const positions = await session.breakpointLocations(this.uri, lineNumber);
351
+ if (positions.length <= 1) {
352
+ return;
353
+ }
354
+ const firstColumn = model.getLineFirstNonWhitespaceColumn(lineNumber);
355
+ const lastColumn = model.getLineLastNonWhitespaceColumn(lineNumber);
356
+ positions.forEach((p) => {
357
+ const range = new monaco.Range(p.lineNumber, p.column, p.lineNumber, p.column + 1);
358
+ if (p.column <= firstColumn || p.column > lastColumn) {
359
+ return;
360
+ }
361
+ const breakpointAtPosition = this.currentBreakpointDecorations.find(({ breakpoint }) => {
362
+ return breakpoint.raw.line === range.startLineNumber && breakpoint.raw.column === range.startColumn;
363
+ });
364
+ if (breakpointAtPosition === null || breakpointAtPosition === void 0 ? void 0 : breakpointAtPosition.inlineWidget) {
365
+ // Space already occupied, do not render candidate.
366
+ return;
367
+ }
368
+ result.push({
369
+ range,
370
+ options: {
371
+ description: 'debug-breakpoint-placeholder',
372
+ stickiness: monaco.editor.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
373
+ beforeContentClassName: breakpointAtPosition ? undefined : 'debug-breakpoint-placeholder',
374
+ },
375
+ breakpoint: breakpointAtPosition === null || breakpointAtPosition === void 0 ? void 0 : breakpointAtPosition.breakpoint,
376
+ });
377
+ });
378
+ }));
379
+ return result;
380
+ }
381
+ /**
382
+ * 渲染当前断点装饰器数组
383
+ * @protected
384
+ * @returns {monaco.editor.IModelDeltaDecoration[]}
385
+ * @memberof DebugModel
386
+ */
387
+ createCurrentBreakpointDecorations() {
388
+ const breakpoints = this.breakpointManager.getBreakpoints(this.uri);
389
+ return breakpoints
390
+ .filter((breakpoint) => (0, breakpoint_2.isDebugBreakpoint)(breakpoint))
391
+ .map((breakpoint) => this.createCurrentBreakpointDecoration(breakpoint));
392
+ }
393
+ /**
394
+ * 创建当前断点的装饰器
395
+ * @protected
396
+ * @param {DebugBreakpoint} breakpoint
397
+ * @returns {monaco.editor.IModelDeltaDecoration}
398
+ * @memberof DebugModel
399
+ */
400
+ createCurrentBreakpointDecoration(breakpoint) {
401
+ const session = this.debugSessionManager.currentSession;
402
+ const status = breakpoint.status.get(session && session.id || '');
403
+ const lineNumber = (status && status.line) ? status.line : breakpoint.raw.line;
404
+ const column = breakpoint.raw.column || 1;
405
+ const model = this.editor.getModel();
406
+ const renderInline = column > model.getLineFirstNonWhitespaceColumn(lineNumber);
407
+ const range = new monaco.Range(lineNumber, column, lineNumber, column + 1);
408
+ const { className, message } = this.decorator.getDecoration(breakpoint, !!session, this.breakpointManager.breakpointsEnabled);
409
+ return {
410
+ range,
411
+ options: {
412
+ description: 'debug-breakpoint-placeholder',
413
+ glyphMarginClassName: className,
414
+ glyphMarginHoverMessage: message.map((value) => ({ value })),
415
+ stickiness: options.STICKINESS,
416
+ beforeContentClassName: renderInline ? 'debug-breakpoint-placeholder' : undefined,
417
+ },
418
+ };
419
+ }
420
+ updateBreakpointRanges() {
421
+ this.breakpointRanges.clear();
422
+ for (const decoration of this.breakpointDecorations) {
423
+ const range = this.editor.getModel().getDecorationRange(decoration);
424
+ this.breakpointRanges.set(decoration, range);
425
+ }
426
+ }
427
+ /**
428
+ * 展示变量Hover面板
429
+ * @protected
430
+ * @param {monaco.editor.IEditorMouseEvent} mouseEvent
431
+ * @returns {void}
432
+ * @memberof DebugModel
433
+ */
434
+ showHover(mouseEvent) {
435
+ const targetType = mouseEvent.target.type;
436
+ const stopKey = ide_core_common_1.isOSX ? 'metaKey' : 'ctrlKey';
437
+ const isAlt = mouseEvent.event.altKey;
438
+ if (isAlt) {
439
+ return;
440
+ }
441
+ if (targetType === monaco.editor.MouseTargetType.CONTENT_WIDGET && mouseEvent.target.detail === this.debugHoverWidget.getId() && !mouseEvent.event[stopKey]) {
442
+ return;
443
+ }
444
+ if (targetType === monaco.editor.MouseTargetType.CONTENT_TEXT) {
445
+ this.debugHoverWidget.show({
446
+ selection: mouseEvent.target.range,
447
+ immediate: false,
448
+ });
449
+ }
450
+ else {
451
+ this.debugHoverWidget.hide({ immediate: false });
452
+ }
453
+ }
454
+ /**
455
+ * 隐藏变量Hover面板
456
+ * @protected
457
+ * @param {monaco.editor.IPartialEditorMouseEvent} { event }
458
+ * @memberof DebugModel
459
+ */
460
+ hideHover({ event }) {
461
+ const rect = this.debugHoverWidget.getDomNode().getBoundingClientRect();
462
+ if (event.posx < rect.left || event.posx > rect.right || event.posy < rect.top || event.posy > rect.bottom) {
463
+ this.debugHoverWidget.hide({ immediate: false });
464
+ }
465
+ }
466
+ doToggleBreakpoint(position = this.position) {
467
+ const breakpoints = this.breakpointManager.getBreakpoints(this.uri, { lineNumber: position.lineNumber });
468
+ if (breakpoints.length) {
469
+ for (const breakpoint of breakpoints) {
470
+ this.breakpointManager.delBreakpoint(breakpoint);
471
+ }
472
+ }
473
+ else {
474
+ this.breakpointManager.addBreakpoint(breakpoint_2.DebugBreakpoint.create(this.uri, {
475
+ line: position.lineNumber,
476
+ }));
477
+ }
478
+ }
479
+ get contributedContextMenu() {
480
+ const contributedContextMenu = this.menuService.createMenu(next_1.MenuId.DebugBreakpointsContext, this.contextKeyService);
481
+ return contributedContextMenu;
482
+ }
483
+ onContextMenu(event) {
484
+ if (event.target && event.target.type === monaco.editor.MouseTargetType.GUTTER_GLYPH_MARGIN) {
485
+ // 设置当前右键选中的断点
486
+ const breakpoint = this.breakpointManager.getBreakpoint(this.uri, event.target.position.lineNumber);
487
+ this.breakpointManager.selectedBreakpoint = {
488
+ breakpoint,
489
+ model: this,
490
+ };
491
+ // 获取右键菜单
492
+ const menus = this.contributedContextMenu;
493
+ const menuNodes = (0, next_1.generateMergedCtxMenu)({ menus });
494
+ this.ctxMenuRenderer.show({
495
+ anchor: event.event.browserEvent,
496
+ menuNodes,
497
+ args: [event.target.position],
498
+ });
499
+ }
500
+ }
501
+ onMouseDown(event) {
502
+ if (event.target && event.target.type === monaco.editor.MouseTargetType.GUTTER_GLYPH_MARGIN) {
503
+ if (!event.event.rightButton) {
504
+ // 保证在DebugModelManager中准确获取当前焦点的编辑器
505
+ this.editor.focus();
506
+ this.toggleBreakpoint(event.target.position);
507
+ }
508
+ }
509
+ this.hintBreakpoint(event);
510
+ }
511
+ onMouseMove(event) {
512
+ this.showHover(event);
513
+ this.hintBreakpoint(event);
514
+ }
515
+ onMouseLeave(event) {
516
+ this.hideHover(event);
517
+ this.deltaHintDecorations([]);
518
+ }
519
+ getBreakpoints(uri, filter) {
520
+ return this.breakpointManager.getBreakpoints(uri, filter);
521
+ }
522
+ hintBreakpoint(event) {
523
+ const hintDecorations = this.createHintDecorations(event);
524
+ this.deltaHintDecorations(hintDecorations);
525
+ }
526
+ deltaHintDecorations(hintDecorations) {
527
+ this.hintDecorations = this.deltaDecorations(this.hintDecorations, hintDecorations);
528
+ }
529
+ createHintDecorations(event) {
530
+ if (event.target
531
+ && (event.target.type === monaco.editor.MouseTargetType.GUTTER_GLYPH_MARGIN)
532
+ || event.target.type === monaco.editor.MouseTargetType.GUTTER_LINE_NUMBERS) {
533
+ const lineNumber = event.target.position.lineNumber;
534
+ if (!!this.breakpointManager.getBreakpoint(this.uri, lineNumber)) {
535
+ return [];
536
+ }
537
+ return [{
538
+ range: new monaco.Range(lineNumber, 1, lineNumber, 1),
539
+ options: options.BREAKPOINT_HINT_DECORATION,
540
+ }];
541
+ }
542
+ return [];
543
+ }
544
+ };
545
+ (0, tslib_1.__decorate)([
546
+ (0, di_1.Autowired)(debug_editor_1.DebugEditor),
547
+ (0, tslib_1.__metadata)("design:type", Object)
548
+ ], DebugModel.prototype, "editor", void 0);
549
+ (0, tslib_1.__decorate)([
550
+ (0, di_1.Autowired)(debug_breakpoint_widget_1.DebugBreakpointWidget),
551
+ (0, tslib_1.__metadata)("design:type", debug_breakpoint_widget_1.DebugBreakpointWidget)
552
+ ], DebugModel.prototype, "breakpointWidget", void 0);
553
+ (0, tslib_1.__decorate)([
554
+ (0, di_1.Autowired)(debug_hover_widget_1.DebugHoverWidget),
555
+ (0, tslib_1.__metadata)("design:type", debug_hover_widget_1.DebugHoverWidget)
556
+ ], DebugModel.prototype, "debugHoverWidget", void 0);
557
+ (0, tslib_1.__decorate)([
558
+ (0, di_1.Autowired)(debug_session_1.IDebugSessionManager),
559
+ (0, tslib_1.__metadata)("design:type", debug_session_manager_1.DebugSessionManager)
560
+ ], DebugModel.prototype, "debugSessionManager", void 0);
561
+ (0, tslib_1.__decorate)([
562
+ (0, di_1.Autowired)(breakpoint_1.BreakpointManager),
563
+ (0, tslib_1.__metadata)("design:type", breakpoint_1.BreakpointManager)
564
+ ], DebugModel.prototype, "breakpointManager", void 0);
565
+ (0, tslib_1.__decorate)([
566
+ (0, di_1.Autowired)(next_1.AbstractMenuService),
567
+ (0, tslib_1.__metadata)("design:type", next_1.AbstractMenuService)
568
+ ], DebugModel.prototype, "menuService", void 0);
569
+ (0, tslib_1.__decorate)([
570
+ (0, di_1.Autowired)(ide_core_browser_1.IContextKeyService),
571
+ (0, tslib_1.__metadata)("design:type", Object)
572
+ ], DebugModel.prototype, "contextKeyService", void 0);
573
+ (0, tslib_1.__decorate)([
574
+ (0, di_1.Autowired)(next_1.ICtxMenuRenderer),
575
+ (0, tslib_1.__metadata)("design:type", next_1.ICtxMenuRenderer)
576
+ ], DebugModel.prototype, "ctxMenuRenderer", void 0);
577
+ (0, tslib_1.__decorate)([
578
+ (0, di_1.Autowired)(ide_core_browser_1.IReporterService),
579
+ (0, tslib_1.__metadata)("design:type", Object)
580
+ ], DebugModel.prototype, "reporterService", void 0);
581
+ (0, tslib_1.__decorate)([
582
+ ide_core_common_1.memoize,
583
+ (0, tslib_1.__metadata)("design:type", Object),
584
+ (0, tslib_1.__metadata)("design:paramtypes", [])
585
+ ], DebugModel.prototype, "contributedContextMenu", null);
586
+ DebugModel = DebugModel_1 = (0, tslib_1.__decorate)([
587
+ (0, di_1.Injectable)(),
588
+ (0, tslib_1.__metadata)("design:paramtypes", [])
589
+ ], DebugModel);
590
+ exports.DebugModel = DebugModel;
591
+ class InlineBreakpointWidget extends ide_core_common_1.Disposable {
592
+ constructor(editor, decorationId, cssClass, breakpoint, breakpointManager) {
593
+ super();
594
+ this.editor = editor;
595
+ this.decorationId = decorationId;
596
+ this.breakpoint = breakpoint;
597
+ this.breakpointManager = breakpointManager;
598
+ this.allowEditorOverflow = false;
599
+ this.suppressMouseDown = true;
600
+ this.range = this.editor.getModel().getDecorationRange(decorationId);
601
+ this.addDispose(this.editor.onDidChangeModelDecorations(() => {
602
+ const model = this.editor.getModel();
603
+ const range = model.getDecorationRange(this.decorationId);
604
+ if (this.range && !this.range.equalsRange(range)) {
605
+ this.range = range;
606
+ this.editor.layoutContentWidget(this);
607
+ }
608
+ }));
609
+ this.addDispose(ide_core_common_1.Disposable.create(() => {
610
+ this.editor.removeContentWidget(this);
611
+ }));
612
+ this.create(cssClass);
613
+ this.editor.addContentWidget(this);
614
+ this.editor.layoutContentWidget(this);
615
+ }
616
+ create(cssClass) {
617
+ const domNode = document.createElement('div');
618
+ domNode.className = 'inline-breakpoint-widget';
619
+ if (cssClass) {
620
+ domNode.classList.add(...cssClass.split(' '));
621
+ }
622
+ this.domNode = domNode;
623
+ const { EditorOption } = monaco.editor;
624
+ const updateSize = () => {
625
+ const lineHeight = this.editor.getOption(EditorOption.lineHeight);
626
+ domNode.style.height = `${lineHeight}px`;
627
+ domNode.style.width = `${Math.ceil(0.8 * lineHeight)}px`;
628
+ domNode.style.marginLeft = `4px`;
629
+ };
630
+ updateSize();
631
+ this.addDispose(new ide_core_browser_1.DomListener(domNode, 'click', async () => {
632
+ const uri = new ide_core_common_1.URI(this.editor.getModel().uri);
633
+ if (this.breakpoint) {
634
+ this.breakpointManager.delBreakpoint(this.breakpoint);
635
+ }
636
+ else {
637
+ this.breakpointManager.addBreakpoint(breakpoint_2.DebugBreakpoint.create(uri, {
638
+ line: this.range.startLineNumber,
639
+ column: this.range.startColumn,
640
+ }));
641
+ }
642
+ }));
643
+ this.addDispose(this.editor.onDidChangeConfiguration((c) => {
644
+ if (c.hasChanged(EditorOption.fontSize) || c.hasChanged(EditorOption.lineHeight)) {
645
+ updateSize();
646
+ }
647
+ }));
648
+ }
649
+ getId() {
650
+ return (0, ide_core_common_1.uuid)();
651
+ }
652
+ getDomNode() {
653
+ return this.domNode;
654
+ }
655
+ getPosition() {
656
+ if (!this.range) {
657
+ return null;
658
+ }
659
+ // Workaround: since the content widget can not be placed before the first column we need to force the left position
660
+ this.domNode.classList.toggle('line-start', this.range.startColumn === 1);
661
+ return {
662
+ position: { lineNumber: this.range.startLineNumber, column: this.range.startColumn - 1 },
663
+ preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],
664
+ };
665
+ }
666
+ }
667
+ (0, tslib_1.__decorate)([
668
+ ide_core_common_1.memoize,
669
+ (0, tslib_1.__metadata)("design:type", Function),
670
+ (0, tslib_1.__metadata)("design:paramtypes", []),
671
+ (0, tslib_1.__metadata)("design:returntype", void 0)
672
+ ], InlineBreakpointWidget.prototype, "getId", null);
673
+ //# sourceMappingURL=debug-model.js.map