@opensumi/ide-core-browser 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 (562) hide show
  1. package/lib/application/application-state-service.d.ts +1 -1
  2. package/lib/application/application-state-service.d.ts.map +1 -1
  3. package/lib/application/application-state-service.js.map +1 -1
  4. package/lib/application/application.service.js.map +1 -1
  5. package/lib/authentication/authentication.contribution.js.map +1 -1
  6. package/lib/authentication/authentication.service.js.map +1 -1
  7. package/lib/bootstrap/app.d.ts +35 -2
  8. package/lib/bootstrap/app.d.ts.map +1 -1
  9. package/lib/bootstrap/app.js +8 -8
  10. package/lib/bootstrap/app.js.map +1 -1
  11. package/lib/bootstrap/app.view.d.ts +1 -1
  12. package/lib/bootstrap/app.view.d.ts.map +1 -1
  13. package/lib/bootstrap/connection.d.ts +1 -1
  14. package/lib/bootstrap/connection.d.ts.map +1 -1
  15. package/lib/bootstrap/connection.js +4 -4
  16. package/lib/bootstrap/connection.js.map +1 -1
  17. package/lib/bootstrap/index.d.ts +1 -1
  18. package/lib/bootstrap/index.d.ts.map +1 -1
  19. package/lib/bootstrap/index.js +1 -1
  20. package/lib/bootstrap/index.js.map +1 -1
  21. package/lib/bootstrap/inner-providers.js +1 -1
  22. package/lib/bootstrap/inner-providers.js.map +1 -1
  23. package/lib/bootstrap/lifecycle.service.js.map +1 -1
  24. package/lib/browser-module.js.map +1 -1
  25. package/lib/common/common.command.d.ts +1 -24
  26. package/lib/common/common.command.d.ts.map +1 -1
  27. package/lib/common/common.command.js +6 -42
  28. package/lib/common/common.command.js.map +1 -1
  29. package/lib/common/common.contribution.js.map +1 -1
  30. package/lib/common/common.module.js.map +1 -1
  31. package/lib/common/common.storage.js.map +1 -1
  32. package/lib/components/actions/index.d.ts +2 -2
  33. package/lib/components/actions/index.d.ts.map +1 -1
  34. package/lib/components/actions/index.js +22 -2
  35. package/lib/components/actions/index.js.map +1 -1
  36. package/lib/components/index.d.ts +4 -0
  37. package/lib/components/index.d.ts.map +1 -1
  38. package/lib/components/index.js +4 -0
  39. package/lib/components/index.js.map +1 -1
  40. package/lib/components/layout/box-panel.d.ts +1 -1
  41. package/lib/components/layout/box-panel.d.ts.map +1 -1
  42. package/lib/components/layout/split-panel.d.ts +1 -17
  43. package/lib/components/layout/split-panel.d.ts.map +1 -1
  44. package/lib/components/layout/split-panel.js +16 -16
  45. package/lib/components/layout/split-panel.js.map +1 -1
  46. package/lib/components/layout/split-panel.service.js.map +1 -1
  47. package/lib/components/progressbar/index.d.ts +2 -2
  48. package/lib/components/progressbar/index.d.ts.map +1 -1
  49. package/lib/components/progressbar/index.js +10 -2
  50. package/lib/components/progressbar/index.js.map +1 -1
  51. package/lib/components/progressbar/styles.module.less +31 -0
  52. package/lib/components/recycle-tree/index.d.ts +2 -0
  53. package/lib/components/recycle-tree/index.d.ts.map +1 -0
  54. package/lib/components/recycle-tree/index.js +5 -0
  55. package/lib/components/recycle-tree/index.js.map +1 -0
  56. package/lib/components/recycle-tree/recycle-tree.view.d.ts +82 -0
  57. package/lib/components/recycle-tree/recycle-tree.view.d.ts.map +1 -0
  58. package/lib/components/recycle-tree/recycle-tree.view.js +188 -0
  59. package/lib/components/recycle-tree/recycle-tree.view.js.map +1 -0
  60. package/lib/components/scroll/index.d.ts +68 -0
  61. package/lib/components/scroll/index.d.ts.map +1 -0
  62. package/lib/components/scroll/index.js +279 -0
  63. package/lib/components/scroll/index.js.map +1 -0
  64. package/lib/components/scroll/scroll.module.less +108 -0
  65. package/lib/components/scrollbar/index.d.ts +2 -0
  66. package/lib/components/scrollbar/index.d.ts.map +1 -0
  67. package/lib/components/scrollbar/index.js +5 -0
  68. package/lib/components/scrollbar/index.js.map +1 -0
  69. package/lib/components/scrollbar/scrollbar.less +36 -0
  70. package/lib/components/scrollbar/scrollbar.view.d.ts +7 -0
  71. package/lib/components/scrollbar/scrollbar.view.d.ts.map +1 -0
  72. package/lib/components/scrollbar/scrollbar.view.js +11 -0
  73. package/lib/components/scrollbar/scrollbar.view.js.map +1 -0
  74. package/lib/components/tree/index.d.ts +4 -0
  75. package/lib/components/tree/index.d.ts.map +1 -0
  76. package/lib/components/tree/index.js +7 -0
  77. package/lib/components/tree/index.js.map +1 -0
  78. package/lib/components/tree/tree-node.view.d.ts +26 -0
  79. package/lib/components/tree/tree-node.view.d.ts.map +1 -0
  80. package/lib/components/tree/tree-node.view.js +350 -0
  81. package/lib/components/tree/tree-node.view.js.map +1 -0
  82. package/lib/components/tree/tree.module.less +296 -0
  83. package/lib/components/tree/tree.view.d.ts +132 -0
  84. package/lib/components/tree/tree.view.d.ts.map +1 -0
  85. package/lib/components/tree/tree.view.js +238 -0
  86. package/lib/components/tree/tree.view.js.map +1 -0
  87. package/lib/contextkey/resource.d.ts +1 -1
  88. package/lib/contextkey/resource.d.ts.map +1 -1
  89. package/lib/contextkey/testing.d.ts +0 -1
  90. package/lib/contextkey/testing.d.ts.map +1 -1
  91. package/lib/contextkey/testing.js +1 -2
  92. package/lib/contextkey/testing.js.map +1 -1
  93. package/lib/core-preferences.d.ts +2 -3
  94. package/lib/core-preferences.d.ts.map +1 -1
  95. package/lib/core-preferences.js +1 -1
  96. package/lib/core-preferences.js.map +1 -1
  97. package/lib/dom/index.d.ts +1 -1
  98. package/lib/dom/index.d.ts.map +1 -1
  99. package/lib/encoding-registry.js.map +1 -1
  100. package/lib/extensions/extensions-point.service.js.map +1 -1
  101. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  102. package/lib/index.d.ts +1 -1
  103. package/lib/index.d.ts.map +1 -1
  104. package/lib/index.js +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/keybinding/keybinding.js.map +1 -1
  107. package/lib/keyboard/keyboard-layout-provider.d.ts +2 -2
  108. package/lib/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  109. package/lib/keyboard/keyboard-layout-provider.js +13 -13
  110. package/lib/keyboard/keyboard-layout-provider.js.map +1 -1
  111. package/lib/keyboard/keyboard-layout-service.js.map +1 -1
  112. package/lib/keyboard/keys.d.ts +2 -2
  113. package/lib/keyboard/keys.d.ts.map +1 -1
  114. package/lib/keyboard/layouts/_.contribution.js +3 -3
  115. package/lib/keyboard/layouts/_.contribution.js.map +1 -1
  116. package/lib/layout/accordion/tab-bar-toolbar.js.map +1 -1
  117. package/lib/layout/accordion/view-context-key.registry.js.map +1 -1
  118. package/lib/layout/layout-hooks.d.ts +1 -1
  119. package/lib/layout/layout-hooks.d.ts.map +1 -1
  120. package/lib/layout/layout-hooks.js +3 -1
  121. package/lib/layout/layout-hooks.js.map +1 -1
  122. package/lib/layout/layout-state.js.map +1 -1
  123. package/lib/layout/layout.interface.d.ts +1 -1
  124. package/lib/layout/layout.interface.d.ts.map +1 -1
  125. package/lib/layout/layout.js.map +1 -1
  126. package/lib/logger/browser-logger.js.map +1 -1
  127. package/lib/markdown/index.d.ts +1 -1
  128. package/lib/markdown/index.d.ts.map +1 -1
  129. package/lib/markdown/index.js +31 -4
  130. package/lib/markdown/index.js.map +1 -1
  131. package/lib/menu/next/base.d.ts +4 -4
  132. package/lib/menu/next/base.d.ts.map +1 -1
  133. package/lib/menu/next/base.js.map +1 -1
  134. package/lib/menu/next/ctxmenu-service.js +10 -10
  135. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  136. package/lib/menu/next/menu-service.js +6 -6
  137. package/lib/menu/next/menu-service.js.map +1 -1
  138. package/lib/menu/next/menu.contrib.interface.d.ts +15 -16
  139. package/lib/menu/next/menu.contrib.interface.d.ts.map +1 -1
  140. package/lib/menu/next/menu.contrib.interface.js.map +1 -1
  141. package/lib/menu/next/menu.interface.d.ts +2 -2
  142. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  143. package/lib/menu/next/menu.interface.js.map +1 -1
  144. package/lib/menu/next/menubar-service.js +10 -10
  145. package/lib/menu/next/menubar-service.js.map +1 -1
  146. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  147. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  148. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  149. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  150. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  151. package/lib/monaco/index.d.ts +3 -7
  152. package/lib/monaco/index.d.ts.map +1 -1
  153. package/lib/monaco/index.js.map +1 -1
  154. package/lib/opener/command-opener.js.map +1 -1
  155. package/lib/opener/default-opener.js.map +1 -1
  156. package/lib/opener/http-opener.js.map +1 -1
  157. package/lib/opener/opener.contribution.js.map +1 -1
  158. package/lib/opener/opener.service.js.map +1 -1
  159. package/lib/preferences/early-preferences.js +4 -4
  160. package/lib/preferences/early-preferences.js.map +1 -1
  161. package/lib/preferences/preference-configurations.js +1 -1
  162. package/lib/preferences/preference-configurations.js.map +1 -1
  163. package/lib/preferences/preference-contribution.d.ts +2 -1
  164. package/lib/preferences/preference-contribution.d.ts.map +1 -1
  165. package/lib/preferences/preference-contribution.js +20 -23
  166. package/lib/preferences/preference-contribution.js.map +1 -1
  167. package/lib/preferences/preference-provider.js.map +1 -1
  168. package/lib/preferences/preference-proxy.d.ts +3 -2
  169. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  170. package/lib/preferences/preference-proxy.js.map +1 -1
  171. package/lib/preferences/preference-service.d.ts +0 -1
  172. package/lib/preferences/preference-service.d.ts.map +1 -1
  173. package/lib/preferences/preference-service.js +3 -50
  174. package/lib/preferences/preference-service.js.map +1 -1
  175. package/lib/preferences/settings.d.ts +5 -44
  176. package/lib/preferences/settings.d.ts.map +1 -1
  177. package/lib/preferences/settings.js.map +1 -1
  178. package/lib/preferences/types.d.ts +1 -8
  179. package/lib/preferences/types.d.ts.map +1 -1
  180. package/lib/preferences/types.js.map +1 -1
  181. package/lib/progress/progress-bar.d.ts +1 -4
  182. package/lib/progress/progress-bar.d.ts.map +1 -1
  183. package/lib/progress/progress-bar.js +4 -11
  184. package/lib/progress/progress-bar.js.map +1 -1
  185. package/lib/progress/progress-indicator.js.map +1 -1
  186. package/lib/progress/progress.service.js +6 -6
  187. package/lib/progress/progress.service.js.map +1 -1
  188. package/lib/quick-open/index.d.ts +1 -1
  189. package/lib/quick-open/index.d.ts.map +1 -1
  190. package/lib/quick-open/index.js.map +1 -1
  191. package/lib/quick-open/recent-files.js.map +1 -1
  192. package/lib/raw-context-key.d.ts +1 -1
  193. package/lib/raw-context-key.d.ts.map +1 -1
  194. package/lib/raw-context-key.js +4 -4
  195. package/lib/raw-context-key.js.map +1 -1
  196. package/lib/react-providers/config-provider.d.ts +0 -5
  197. package/lib/react-providers/config-provider.d.ts.map +1 -1
  198. package/lib/react-providers/config-provider.js.map +1 -1
  199. package/lib/react-providers/slot.d.ts +2 -2
  200. package/lib/react-providers/slot.d.ts.map +1 -1
  201. package/lib/services/clipboard.service.d.ts +0 -1
  202. package/lib/services/clipboard.service.d.ts.map +1 -1
  203. package/lib/services/clipboard.service.js +30 -17
  204. package/lib/services/clipboard.service.js.map +1 -1
  205. package/lib/services/credentials-service.js.map +1 -1
  206. package/lib/services/crypto-service.js.map +1 -1
  207. package/lib/services/external-uri.service.js.map +1 -1
  208. package/lib/services/label-service.js.map +1 -1
  209. package/lib/services/storage-service.d.ts +0 -1
  210. package/lib/services/storage-service.d.ts.map +1 -1
  211. package/lib/services/storage-service.js +2 -13
  212. package/lib/services/storage-service.js.map +1 -1
  213. package/lib/style/icon/icon.d.ts +2 -3
  214. package/lib/style/icon/icon.d.ts.map +1 -1
  215. package/lib/style/icon/icon.js +1 -5
  216. package/lib/style/icon/icon.js.map +1 -1
  217. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  218. package/lib/style/icon/ide-iconfont.d.ts.map +1 -1
  219. package/lib/style/icon/ide-iconfont.js +1 -1
  220. package/lib/style/icon/ide-iconfont.js.map +1 -1
  221. package/lib/style/icon/index.less +0 -13
  222. package/lib/toolbar/components/button.js +12 -12
  223. package/lib/toolbar/components/button.js.map +1 -1
  224. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  225. package/lib/toolbar/toolbar.registry.d.ts +1 -1
  226. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  227. package/lib/toolbar/toolbar.registry.js.map +1 -1
  228. package/lib/toolbar/types.d.ts +1 -1
  229. package/lib/toolbar/types.d.ts.map +1 -1
  230. package/lib/tree/index.d.ts +4 -0
  231. package/lib/tree/index.d.ts.map +1 -0
  232. package/lib/tree/index.js +7 -0
  233. package/lib/tree/index.js.map +1 -0
  234. package/lib/tree/tree-expansion.d.ts +16 -0
  235. package/lib/tree/tree-expansion.d.ts.map +1 -0
  236. package/lib/tree/tree-expansion.js +20 -0
  237. package/lib/tree/tree-expansion.js.map +1 -0
  238. package/lib/tree/tree-selection.d.ts +48 -0
  239. package/lib/tree/tree-selection.d.ts.map +1 -0
  240. package/lib/tree/tree-selection.js +64 -0
  241. package/lib/tree/tree-selection.js.map +1 -0
  242. package/lib/tree/tree.d.ts +195 -0
  243. package/lib/tree/tree.d.ts.map +1 -0
  244. package/lib/tree/tree.js +108 -0
  245. package/lib/tree/tree.js.map +1 -0
  246. package/lib/utils/json.d.ts +5 -5
  247. package/lib/utils/json.d.ts.map +1 -1
  248. package/lib/utils/label.d.ts.map +1 -1
  249. package/lib/utils/label.js +9 -16
  250. package/lib/utils/label.js.map +1 -1
  251. package/lib/utils/parse.d.ts +1 -2
  252. package/lib/utils/parse.d.ts.map +1 -1
  253. package/lib/utils/parse.js +1 -10
  254. package/lib/utils/parse.js.map +1 -1
  255. package/lib/variable/variable.d.ts +1 -1
  256. package/lib/variable/variable.d.ts.map +1 -1
  257. package/lib/variable/variable.js.map +1 -1
  258. package/lib/window/window.service.js.map +1 -1
  259. package/package.json +11 -9
  260. package/lib/bootstrap/app.interface.d.ts +0 -39
  261. package/lib/bootstrap/app.interface.d.ts.map +0 -1
  262. package/lib/bootstrap/app.interface.js +0 -3
  263. package/lib/bootstrap/app.interface.js.map +0 -1
  264. package/lib/contextkey/search.d.ts +0 -24
  265. package/lib/contextkey/search.d.ts.map +0 -1
  266. package/lib/contextkey/search.js +0 -29
  267. package/lib/contextkey/search.js.map +0 -1
  268. package/lib/file-decoration.d.ts +0 -10
  269. package/lib/file-decoration.d.ts.map +0 -1
  270. package/lib/file-decoration.js +0 -3
  271. package/lib/file-decoration.js.map +0 -1
  272. package/lib/monaco/merge-editor-widget.d.ts +0 -53
  273. package/lib/monaco/merge-editor-widget.d.ts.map +0 -1
  274. package/lib/monaco/merge-editor-widget.js +0 -107
  275. package/lib/monaco/merge-editor-widget.js.map +0 -1
  276. package/lib/react-hooks/useThrottleFn/index.d.ts +0 -13
  277. package/lib/react-hooks/useThrottleFn/index.d.ts.map +0 -1
  278. package/lib/react-hooks/useThrottleFn/index.js +0 -20
  279. package/lib/react-hooks/useThrottleFn/index.js.map +0 -1
  280. package/src/application/application-state-service.ts +0 -54
  281. package/src/application/application.service.ts +0 -51
  282. package/src/application/index.ts +0 -2
  283. package/src/authentication/authentication.contribution.ts +0 -35
  284. package/src/authentication/authentication.service.ts +0 -517
  285. package/src/bootstrap/app.interface.ts +0 -46
  286. package/src/bootstrap/app.ts +0 -710
  287. package/src/bootstrap/app.view.tsx +0 -88
  288. package/src/bootstrap/connection.ts +0 -116
  289. package/src/bootstrap/index.ts +0 -3
  290. package/src/bootstrap/inner-providers.ts +0 -297
  291. package/src/bootstrap/lifecycle.service.ts +0 -19
  292. package/src/browser-module.ts +0 -24
  293. package/src/common/common.command.ts +0 -1018
  294. package/src/common/common.contribution.ts +0 -343
  295. package/src/common/common.define.ts +0 -55
  296. package/src/common/common.module.ts +0 -33
  297. package/src/common/common.storage.ts +0 -22
  298. package/src/common/container-id.ts +0 -12
  299. package/src/common/index.ts +0 -4
  300. package/src/components/actions/index.tsx +0 -486
  301. package/src/components/actions/placements.ts +0 -47
  302. package/src/components/actions/styles.module.less +0 -144
  303. package/src/components/badge/index.tsx +0 -1
  304. package/src/components/index.ts +0 -22
  305. package/src/components/layout/box-panel.tsx +0 -88
  306. package/src/components/layout/default-layout.tsx +0 -61
  307. package/src/components/layout/index.ts +0 -4
  308. package/src/components/layout/layout.ts +0 -80
  309. package/src/components/layout/split-panel.service.ts +0 -56
  310. package/src/components/layout/split-panel.tsx +0 -315
  311. package/src/components/layout/styles.module.less +0 -21
  312. package/src/components/loading/index.ts +0 -1
  313. package/src/components/loading/loading.less +0 -14
  314. package/src/components/loading/loading.view.tsx +0 -7
  315. package/src/components/loading/media/loading-dark.svg +0 -52
  316. package/src/components/loading/media/loading-hc.svg +0 -52
  317. package/src/components/loading/media/loading.svg +0 -52
  318. package/src/components/popover/styles.module.less +0 -81
  319. package/src/components/portal/index.tsx +0 -13
  320. package/src/components/progressbar/index.tsx +0 -3
  321. package/src/components/resize/resize.module.less +0 -78
  322. package/src/components/resize/resize.tsx +0 -663
  323. package/src/components/select/index.tsx +0 -12
  324. package/src/components/select/styles.less +0 -6
  325. package/src/context-key.ts +0 -48
  326. package/src/contextkey/dialog.ts +0 -3
  327. package/src/contextkey/explorer.ts +0 -26
  328. package/src/contextkey/index.ts +0 -6
  329. package/src/contextkey/outline.ts +0 -4
  330. package/src/contextkey/resource.ts +0 -61
  331. package/src/contextkey/search.ts +0 -30
  332. package/src/contextkey/terminal.ts +0 -7
  333. package/src/contextkey/testing.ts +0 -9
  334. package/src/contextkey/workspace.ts +0 -7
  335. package/src/core-preferences.ts +0 -318
  336. package/src/dom/index.ts +0 -176
  337. package/src/encoding-registry.ts +0 -83
  338. package/src/extensions/extensions-point.service.ts +0 -78
  339. package/src/extensions/index.ts +0 -3
  340. package/src/extensions/schema/browserViews.ts +0 -96
  341. package/src/extensions/schema/menu.ts +0 -245
  342. package/src/extensions/schema/opensumiExtensionPackageSchema.ts +0 -12
  343. package/src/extensions/schema/toolbar.ts +0 -338
  344. package/src/extensions/schema/vscodeExtensionPackageSchema.ts +0 -330
  345. package/src/file-decoration.ts +0 -10
  346. package/src/fs/index.ts +0 -12
  347. package/src/hash-calculate/hash-calculate.contribution.ts +0 -19
  348. package/src/index.ts +0 -42
  349. package/src/keybinding/index.ts +0 -1
  350. package/src/keybinding/keybinding.ts +0 -908
  351. package/src/keyboard/index.ts +0 -3
  352. package/src/keyboard/keyboard-layout-provider.ts +0 -412
  353. package/src/keyboard/keyboard-layout-service.ts +0 -449
  354. package/src/keyboard/keys.ts +0 -748
  355. package/src/keyboard/layouts/_.contribution.ts +0 -24
  356. package/src/keyboard/layouts/cz.win.ts +0 -168
  357. package/src/keyboard/layouts/de-swiss.win.ts +0 -168
  358. package/src/keyboard/layouts/de.darwin.ts +0 -131
  359. package/src/keyboard/layouts/de.linux.ts +0 -186
  360. package/src/keyboard/layouts/de.win.ts +0 -168
  361. package/src/keyboard/layouts/dk.win.ts +0 -168
  362. package/src/keyboard/layouts/dvorak.darwin.ts +0 -131
  363. package/src/keyboard/layouts/en-belgian.win.ts +0 -168
  364. package/src/keyboard/layouts/en-ext.darwin.ts +0 -131
  365. package/src/keyboard/layouts/en-in.win.ts +0 -168
  366. package/src/keyboard/layouts/en-intl.darwin.ts +0 -131
  367. package/src/keyboard/layouts/en-intl.win.ts +0 -168
  368. package/src/keyboard/layouts/en-uk.darwin.ts +0 -131
  369. package/src/keyboard/layouts/en-uk.win.ts +0 -168
  370. package/src/keyboard/layouts/en.darwin.ts +0 -139
  371. package/src/keyboard/layouts/en.linux.ts +0 -186
  372. package/src/keyboard/layouts/en.win.ts +0 -173
  373. package/src/keyboard/layouts/es-latin.win.ts +0 -168
  374. package/src/keyboard/layouts/es.darwin.ts +0 -131
  375. package/src/keyboard/layouts/es.linux.ts +0 -186
  376. package/src/keyboard/layouts/es.win.ts +0 -168
  377. package/src/keyboard/layouts/fr.darwin.ts +0 -131
  378. package/src/keyboard/layouts/fr.linux.ts +0 -186
  379. package/src/keyboard/layouts/fr.win.ts +0 -168
  380. package/src/keyboard/layouts/hu.win.ts +0 -168
  381. package/src/keyboard/layouts/it.darwin.ts +0 -131
  382. package/src/keyboard/layouts/it.win.ts +0 -168
  383. package/src/keyboard/layouts/jp-roman.darwin.ts +0 -131
  384. package/src/keyboard/layouts/jp.darwin.ts +0 -131
  385. package/src/keyboard/layouts/ko.darwin.ts +0 -131
  386. package/src/keyboard/layouts/layout.contribution.darwin.ts +0 -23
  387. package/src/keyboard/layouts/layout.contribution.linux.ts +0 -12
  388. package/src/keyboard/layouts/layout.contribution.ts +0 -9
  389. package/src/keyboard/layouts/layout.contribution.win.ts +0 -29
  390. package/src/keyboard/layouts/no.win.ts +0 -168
  391. package/src/keyboard/layouts/pl.darwin.ts +0 -131
  392. package/src/keyboard/layouts/pl.win.ts +0 -168
  393. package/src/keyboard/layouts/pt-br.win.ts +0 -169
  394. package/src/keyboard/layouts/pt.darwin.ts +0 -131
  395. package/src/keyboard/layouts/pt.win.ts +0 -168
  396. package/src/keyboard/layouts/ru.darwin.ts +0 -131
  397. package/src/keyboard/layouts/ru.linux.ts +0 -186
  398. package/src/keyboard/layouts/ru.win.ts +0 -168
  399. package/src/keyboard/layouts/sv.darwin.ts +0 -131
  400. package/src/keyboard/layouts/sv.win.ts +0 -168
  401. package/src/keyboard/layouts/thai.win.ts +0 -168
  402. package/src/keyboard/layouts/tr.win.ts +0 -168
  403. package/src/keyboard/layouts/zh-hans.darwin.ts +0 -131
  404. package/src/layout/accordion/tab-bar-toolbar.tsx +0 -59
  405. package/src/layout/accordion/view-context-key.registry.ts +0 -34
  406. package/src/layout/constants.ts +0 -7
  407. package/src/layout/index.ts +0 -5
  408. package/src/layout/layout-hooks.ts +0 -68
  409. package/src/layout/layout-state.ts +0 -107
  410. package/src/layout/layout.interface.ts +0 -101
  411. package/src/layout/layout.ts +0 -80
  412. package/src/layout/view-id.ts +0 -18
  413. package/src/logger/browser-logger.ts +0 -51
  414. package/src/logger/index.ts +0 -1
  415. package/src/markdown/index.tsx +0 -30
  416. package/src/menu/next/base.ts +0 -513
  417. package/src/menu/next/ctxmenu-service.ts +0 -188
  418. package/src/menu/next/index.ts +0 -10
  419. package/src/menu/next/menu-id.ts +0 -86
  420. package/src/menu/next/menu-service.ts +0 -252
  421. package/src/menu/next/menu-util.ts +0 -77
  422. package/src/menu/next/menu.contrib.interface.ts +0 -79
  423. package/src/menu/next/menu.interface.ts +0 -253
  424. package/src/menu/next/menubar-service.ts +0 -211
  425. package/src/menu/next/renderer/ctxmenu/base.ts +0 -18
  426. package/src/menu/next/renderer/ctxmenu/browser.ts +0 -45
  427. package/src/menu/next/renderer/ctxmenu/electron.ts +0 -207
  428. package/src/menu/next/toolbar-action.service.ts +0 -132
  429. package/src/monaco/index.ts +0 -136
  430. package/src/monaco/merge-editor-widget.ts +0 -159
  431. package/src/opener/command-opener.ts +0 -42
  432. package/src/opener/default-opener.ts +0 -31
  433. package/src/opener/http-opener.ts +0 -25
  434. package/src/opener/index.ts +0 -19
  435. package/src/opener/opener.contribution.ts +0 -57
  436. package/src/opener/opener.service.ts +0 -66
  437. package/src/preferences/early-preferences.ts +0 -117
  438. package/src/preferences/index.ts +0 -9
  439. package/src/preferences/preference-configurations.ts +0 -77
  440. package/src/preferences/preference-contribution.ts +0 -395
  441. package/src/preferences/preference-provider.ts +0 -414
  442. package/src/preferences/preference-proxy.ts +0 -291
  443. package/src/preferences/preference-scope.ts +0 -3
  444. package/src/preferences/preference-service.ts +0 -623
  445. package/src/preferences/settings.ts +0 -90
  446. package/src/preferences/types.ts +0 -119
  447. package/src/progress/index.ts +0 -58
  448. package/src/progress/progress-bar.tsx +0 -34
  449. package/src/progress/progress-indicator.ts +0 -90
  450. package/src/progress/progress.module.less +0 -46
  451. package/src/progress/progress.service.tsx +0 -429
  452. package/src/quick-open/index.ts +0 -655
  453. package/src/quick-open/recent-files.ts +0 -68
  454. package/src/raw-context-key.ts +0 -116
  455. package/src/react-hooks/event.tsx +0 -80
  456. package/src/react-hooks/hot-key.tsx +0 -58
  457. package/src/react-hooks/index.ts +0 -3
  458. package/src/react-hooks/injectable-hooks.tsx +0 -35
  459. package/src/react-hooks/portal-hooks.tsx +0 -38
  460. package/src/react-hooks/useThrottleFn/index.ts +0 -34
  461. package/src/react-providers/config-provider.tsx +0 -264
  462. package/src/react-providers/index.tsx +0 -2
  463. package/src/react-providers/slot.module.less +0 -19
  464. package/src/react-providers/slot.tsx +0 -242
  465. package/src/services/clipboard.service.ts +0 -92
  466. package/src/services/credentials-service.ts +0 -91
  467. package/src/services/crypto-service.ts +0 -23
  468. package/src/services/external-uri.service.ts +0 -68
  469. package/src/services/index.ts +0 -7
  470. package/src/services/label-service.ts +0 -386
  471. package/src/services/status-bar-service.ts +0 -108
  472. package/src/services/storage-service.ts +0 -201
  473. package/src/style/codicons/README.md +0 -22
  474. package/src/style/codicons/codicon-animations.css +0 -15
  475. package/src/style/codicons/generator.js +0 -15
  476. package/src/style/entry.less +0 -25
  477. package/src/style/icon/fileicons/file-default.svg +0 -1
  478. package/src/style/icon/fileicons/folder-default.svg +0 -1
  479. package/src/style/icon/fileicons.less +0 -20
  480. package/src/style/icon/icon.ts +0 -547
  481. package/src/style/icon/ide-iconfont.ts +0 -13
  482. package/src/style/icon/index.less +0 -67
  483. package/src/style/icon/seti.woff +0 -0
  484. package/src/style/icon/symbol-icons/boolean-dark.svg +0 -3
  485. package/src/style/icon/symbol-icons/boolean-light.svg +0 -3
  486. package/src/style/icon/symbol-icons/class-dark.svg +0 -3
  487. package/src/style/icon/symbol-icons/class-light.svg +0 -3
  488. package/src/style/icon/symbol-icons/constant-dark.svg +0 -4
  489. package/src/style/icon/symbol-icons/constant-light.svg +0 -4
  490. package/src/style/icon/symbol-icons/enumerator-dark.svg +0 -3
  491. package/src/style/icon/symbol-icons/enumerator-item-dark.svg +0 -3
  492. package/src/style/icon/symbol-icons/enumerator-item-light.svg +0 -3
  493. package/src/style/icon/symbol-icons/enumerator-light.svg +0 -3
  494. package/src/style/icon/symbol-icons/event-dark.svg +0 -3
  495. package/src/style/icon/symbol-icons/event-light.svg +0 -3
  496. package/src/style/icon/symbol-icons/field-dark.svg +0 -3
  497. package/src/style/icon/symbol-icons/field-light.svg +0 -3
  498. package/src/style/icon/symbol-icons/file-dark.svg +0 -3
  499. package/src/style/icon/symbol-icons/file-light.svg +0 -3
  500. package/src/style/icon/symbol-icons/indexer-dark.svg +0 -3
  501. package/src/style/icon/symbol-icons/indexer-light.svg +0 -3
  502. package/src/style/icon/symbol-icons/interface-dark.svg +0 -3
  503. package/src/style/icon/symbol-icons/interface-light.svg +0 -3
  504. package/src/style/icon/symbol-icons/keyword-dark.svg +0 -3
  505. package/src/style/icon/symbol-icons/keyword-light.svg +0 -3
  506. package/src/style/icon/symbol-icons/method-dark.svg +0 -3
  507. package/src/style/icon/symbol-icons/method-light.svg +0 -3
  508. package/src/style/icon/symbol-icons/namespace-dark.svg +0 -3
  509. package/src/style/icon/symbol-icons/namespace-light.svg +0 -3
  510. package/src/style/icon/symbol-icons/numeric-dark.svg +0 -3
  511. package/src/style/icon/symbol-icons/numeric-light.svg +0 -3
  512. package/src/style/icon/symbol-icons/operator-dark.svg +0 -3
  513. package/src/style/icon/symbol-icons/operator-light.svg +0 -3
  514. package/src/style/icon/symbol-icons/property-dark.svg +0 -3
  515. package/src/style/icon/symbol-icons/property-light.svg +0 -3
  516. package/src/style/icon/symbol-icons/snippet-dark.svg +0 -3
  517. package/src/style/icon/symbol-icons/snippet-light.svg +0 -3
  518. package/src/style/icon/symbol-icons/string-dark.svg +0 -3
  519. package/src/style/icon/symbol-icons/string-light.svg +0 -3
  520. package/src/style/icon/symbol-icons/structure-dark.svg +0 -3
  521. package/src/style/icon/symbol-icons/structure-light.svg +0 -3
  522. package/src/style/icon/symbol-icons/symbol-icons.css +0 -284
  523. package/src/style/icon/symbol-icons/template-dark.svg +0 -3
  524. package/src/style/icon/symbol-icons/template-light.svg +0 -3
  525. package/src/style/icon/symbol-icons/variable-dark.svg +0 -3
  526. package/src/style/icon/symbol-icons/variable-light.svg +0 -3
  527. package/src/style/icon.less +0 -8
  528. package/src/style/index.less +0 -14
  529. package/src/style/monaco-override.less +0 -116
  530. package/src/style/normalize.less +0 -92
  531. package/src/style/octicons/octicons-cdn.css +0 -720
  532. package/src/style/octicons/octicons.css +0 -714
  533. package/src/style/octicons/octicons.html +0 -1882
  534. package/src/style/octicons/octicons.svg +0 -582
  535. package/src/style/octicons/octicons.ttf +0 -0
  536. package/src/style/override.less +0 -97
  537. package/src/style/toolbar.less +0 -199
  538. package/src/style/utilities.less +0 -8
  539. package/src/style/variable.less +0 -8
  540. package/src/terminal/index.ts +0 -7
  541. package/src/toolbar/components/auto-complete.tsx +0 -0
  542. package/src/toolbar/components/button.tsx +0 -440
  543. package/src/toolbar/components/index.ts +0 -2
  544. package/src/toolbar/components/select.tsx +0 -189
  545. package/src/toolbar/index.ts +0 -3
  546. package/src/toolbar/toolbar.popover.registry.ts +0 -32
  547. package/src/toolbar/toolbar.registry.ts +0 -352
  548. package/src/toolbar/toolbar.tsx +0 -710
  549. package/src/toolbar/types.ts +0 -383
  550. package/src/utils/create-overlay.tsx +0 -53
  551. package/src/utils/electron.ts +0 -92
  552. package/src/utils/env.ts +0 -26
  553. package/src/utils/icon.ts +0 -13
  554. package/src/utils/index.ts +0 -7
  555. package/src/utils/json.ts +0 -251
  556. package/src/utils/label.tsx +0 -36
  557. package/src/utils/parse.ts +0 -82
  558. package/src/utils/react-hooks.ts +0 -118
  559. package/src/variable/index.ts +0 -1
  560. package/src/variable/variable.ts +0 -84
  561. package/src/window/index.ts +0 -34
  562. package/src/window/window.service.ts +0 -100
package/src/utils/json.ts DELETED
@@ -1,251 +0,0 @@
1
- import stripJsonComments from 'strip-json-comments';
2
-
3
- /**
4
- * JSON对象的值为引用类型的类型
5
- */
6
- export type JSONPrimitive = boolean | number | string | null;
7
-
8
- /**
9
- * JSON对象值类型
10
- */
11
- export type JSONValue = JSONPrimitive | JSONObject | JSONArray;
12
-
13
- /**
14
- * JSON Object值类型
15
- */
16
- export interface JSONObject {
17
- [key: string]: JSONValue;
18
- }
19
-
20
- /**
21
- * JSON Array值类型
22
- */
23
- export type JSONArray = Array<JSONValue>;
24
-
25
- /**
26
- * 只读的JSON Object类型
27
- */
28
- export interface ReadonlyJSONObject {
29
- readonly [key: string]: ReadonlyJSONValue;
30
- }
31
-
32
- /**
33
- * 只读的JSON Array类型
34
- */
35
- export type ReadonlyJSONArray = ReadonlyArray<ReadonlyJSONValue>;
36
-
37
- /**
38
- * 只读的JSON值类型
39
- */
40
- export type ReadonlyJSONValue = JSONPrimitive | ReadonlyJSONObject | ReadonlyJSONArray;
41
-
42
- /**
43
- * JSON 工具方法空间
44
- */
45
- export namespace JSONUtils {
46
- /**
47
- * 冻结的空JSON Object
48
- */
49
- export const emptyObject = Object.freeze({}) as ReadonlyJSONObject;
50
-
51
- /**
52
- * 冻结的空JSON Array
53
- */
54
- export const emptyArray = Object.freeze([]) as ReadonlyJSONArray;
55
-
56
- /**
57
- * 判断JSON是否为普通类型值,如JSONPrimitive
58
- * @param value
59
- */
60
- export function isPrimitive(value: ReadonlyJSONValue): value is JSONPrimitive {
61
- return value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string';
62
- }
63
-
64
- /**
65
- * 判断JSON值是否为Array
66
- * @param value
67
- */
68
- export function isArray(value: JSONValue): value is JSONArray;
69
- export function isArray(value: ReadonlyJSONValue): value is ReadonlyJSONArray;
70
- export function isArray(value: ReadonlyJSONValue): boolean {
71
- return Array.isArray(value);
72
- }
73
-
74
- /**
75
- * 判断JSON值是否为Object.
76
- * @param value
77
- */
78
- export function isObject(value: JSONValue): value is JSONObject;
79
- export function isObject(value: ReadonlyJSONValue): value is ReadonlyJSONObject;
80
- export function isObject(value: ReadonlyJSONValue): boolean {
81
- return !isPrimitive(value) && !isArray(value);
82
- }
83
-
84
- /**
85
- * 判断两个值是否深层相等
86
- * @param first
87
- * @param second
88
- */
89
- export function deepEqual(first: ReadonlyJSONValue, second: ReadonlyJSONValue): boolean {
90
- if (first === second) {
91
- return true;
92
- }
93
-
94
- if (isPrimitive(first) || isPrimitive(second)) {
95
- return false;
96
- }
97
-
98
- const a1 = isArray(first);
99
- const a2 = isArray(second);
100
-
101
- if (a1 !== a2) {
102
- return false;
103
- }
104
-
105
- if (a1 && a2) {
106
- return deepArrayEqual(first as ReadonlyJSONArray, second as ReadonlyJSONArray);
107
- }
108
-
109
- return deepObjectEqual(first as ReadonlyJSONObject, second as ReadonlyJSONObject);
110
- }
111
-
112
- /**
113
- * 深拷贝JSON值
114
- * @param value
115
- */
116
- export function deepCopy<T extends ReadonlyJSONValue>(value: T): T {
117
- if (isPrimitive(value)) {
118
- return value;
119
- }
120
-
121
- if (isArray(value)) {
122
- return deepArrayCopy(value);
123
- }
124
-
125
- return deepObjectCopy(value);
126
- }
127
-
128
- /**
129
- * 对比两个数组类型的JSON是否深匹配
130
- */
131
- function deepArrayEqual(first: ReadonlyJSONArray, second: ReadonlyJSONArray): boolean {
132
- if (first === second) {
133
- return true;
134
- }
135
-
136
- if (first.length !== second.length) {
137
- return false;
138
- }
139
-
140
- // Compare the values for equality.
141
- for (let i = 0, n = first.length; i < n; ++i) {
142
- if (!deepEqual(first[i], second[i])) {
143
- return false;
144
- }
145
- }
146
-
147
- // At this point, the arrays are equal.
148
- return true;
149
- }
150
-
151
- /**
152
- * 对比两个对象类型的JSON是否深匹配
153
- */
154
- function deepObjectEqual(first: ReadonlyJSONObject, second: ReadonlyJSONObject): boolean {
155
- if (first === second) {
156
- return true;
157
- }
158
-
159
- for (const key in first) {
160
- if (!(key in second)) {
161
- return false;
162
- }
163
- }
164
-
165
- // Check for the second object's keys in the first object.
166
- for (const key in second) {
167
- if (!(key in first)) {
168
- return false;
169
- }
170
- }
171
-
172
- // Compare the values for equality.
173
- for (const key in first) {
174
- if (!deepEqual(first[key], second[key])) {
175
- return false;
176
- }
177
- }
178
-
179
- // At this point, the objects are equal.
180
- return true;
181
- }
182
-
183
- /**
184
- * 深拷贝Array类型的值
185
- */
186
- function deepArrayCopy(value: any): any {
187
- const result = new Array<any>(value.length);
188
- for (let i = 0, n = value.length; i < n; ++i) {
189
- result[i] = deepCopy(value[i]);
190
- }
191
- return result;
192
- }
193
-
194
- /**
195
- * 深拷贝Object类型的值
196
- */
197
- function deepObjectCopy(value: any): any {
198
- const result: any = {};
199
- // eslint-disable-next-line guard-for-in
200
- for (const key in value) {
201
- result[key] = deepCopy(value[key]);
202
- }
203
- return result;
204
- }
205
- }
206
-
207
- export function parseWithComments<T>(content): T {
208
- content = stripTrailingComma(stripJsonComments(content));
209
- const res = JSON.parse(content);
210
- return res;
211
- }
212
-
213
- export function stripTrailingComma(content: string) {
214
- const subStrs: string[] = [];
215
- let lastIndex = 0;
216
- let inString = false;
217
- let i = 0;
218
- while (i < content.length) {
219
- if (inString) {
220
- if (content[i] === '"' && content[i - 1] !== '\\') {
221
- inString = false;
222
- }
223
- } else {
224
- if (content[i] === ',') {
225
- // 跳过空白
226
- const candidate = i;
227
- while (content[i + 1] && isWhiteSpace(content[i + 1])) {
228
- i++;
229
- }
230
- if (content[i + 1] === ']' || content[i + 1] === '}') {
231
- subStrs.push(content.substring(lastIndex, candidate));
232
- lastIndex = candidate + 1;
233
- }
234
- } else if (content[i] === '"') {
235
- // 肯定是开始字符串
236
- inString = true;
237
- }
238
- }
239
- i++;
240
- }
241
- if (lastIndex > 0) {
242
- subStrs.push(content.substr(lastIndex));
243
- return subStrs.join('');
244
- } else {
245
- return content;
246
- }
247
- }
248
-
249
- function isWhiteSpace(char) {
250
- return char === ' ' || char === '\t' || char === '\n' || char === '\r';
251
- }
@@ -1,36 +0,0 @@
1
- import React, { CSSProperties } from 'react';
2
-
3
- import { Icon } from '@opensumi/ide-components/lib/icon/icon';
4
-
5
- const SEPERATOR = ' ';
6
-
7
- export function transformLabelWithCodicon(
8
- label: string,
9
- iconStyles: CSSProperties = {},
10
- transformer?: (str: string) => string | undefined,
11
- ) {
12
- const ICON_REGX = /\$\(([a-z.]+\/)?([a-z-]+)(~[a-z]+)?\)/gi;
13
- const ICON_WITH_ANIMATE_REGX = /\$\(([a-z.]+\/)?([a-z-]+)~([a-z]+)\)/gi;
14
- return label.split(SEPERATOR).map((e, index) => {
15
- if (!transformer) {
16
- return e;
17
- }
18
- const icon = transformer(e);
19
- if (icon) {
20
- return <Icon className={icon} style={iconStyles} key={`${index}-${icon}`} />;
21
- } else if (ICON_REGX.test(e)) {
22
- if (e.includes('~')) {
23
- const [, , icon, animate] = ICON_WITH_ANIMATE_REGX.exec(e) || [];
24
- if (animate && icon) {
25
- return (
26
- <Icon className={transformer(`$(${icon})`)} style={iconStyles} animate={animate} key={`${index}-${icon}`} />
27
- );
28
- }
29
- }
30
- const newStr = e.replaceAll(ICON_REGX, (e) => `${SEPERATOR}${e}${SEPERATOR}`);
31
- return transformLabelWithCodicon(newStr, iconStyles, transformer);
32
- } else {
33
- return <span key={`${index}-${e}`}>{e}</span>;
34
- }
35
- });
36
- }
@@ -1,82 +0,0 @@
1
- /** ******************************************************************************
2
- * Copyright (C) 2018 Red Hat, Inc. and others.
3
- *
4
- * This program and the accompanying materials are made available under the
5
- * terms of the Eclipse Public License v. 2.0 which is available at
6
- * http://www.eclipse.org/legal/epl-2.0.
7
- *
8
- * This Source Code may also be made available under the following Secondary
9
- * Licenses when the conditions for such availability set forth in the Eclipse
10
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- * with the GNU Classpath Exception which is available at
12
- * https://www.gnu.org/software/classpath/license.html.
13
- *
14
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
- ********************************************************************************/
16
- // Some code copied and modified from https://github.com/eclipse-theia/theia/tree/v1.14.0/packages/core/src/browser/label-parser.ts
17
-
18
- export interface LabelIcon {
19
- name: string;
20
- owner?: string;
21
- animation?: string;
22
- }
23
-
24
- export namespace LabelIcon {
25
- export function is(val: object): val is LabelIcon {
26
- return 'name' in val;
27
- }
28
- }
29
-
30
- export type LabelPart = string | LabelIcon;
31
-
32
- export function parseLabel(text: string): LabelPart[] {
33
- const parserArray: LabelPart[] = [];
34
- let arrPointer = 0;
35
- let potentialIcon = '';
36
-
37
- for (let idx = 0; idx < text.length; idx++) {
38
- const char = text.charAt(idx);
39
- parserArray[arrPointer] = parserArray[arrPointer] || '';
40
- if (potentialIcon === '') {
41
- if (char === '$') {
42
- potentialIcon += char;
43
- } else {
44
- parserArray[arrPointer] += char;
45
- }
46
- } else if (potentialIcon === '$') {
47
- if (char === '(') {
48
- potentialIcon += char;
49
- } else {
50
- parserArray[arrPointer] += potentialIcon + char;
51
- potentialIcon = '';
52
- }
53
- } else {
54
- if (char === ')') {
55
- const iconClassArr = potentialIcon.substring(2, potentialIcon.length).split('~');
56
- let name = iconClassArr[0];
57
- let owner: string | undefined;
58
- if (name) {
59
- const index = name.indexOf('/');
60
- if (index !== -1) {
61
- owner = name.substring(0, index);
62
- name = name.substring(index + 1);
63
- }
64
- }
65
- if (parserArray[arrPointer] !== '') {
66
- arrPointer++;
67
- }
68
- parserArray[arrPointer] = { name, owner, animation: iconClassArr[1] };
69
- arrPointer++;
70
- potentialIcon = '';
71
- } else {
72
- potentialIcon += char;
73
- }
74
- }
75
- }
76
-
77
- if (potentialIcon !== '') {
78
- parserArray[arrPointer] += potentialIcon;
79
- }
80
-
81
- return parserArray;
82
- }
@@ -1,118 +0,0 @@
1
- import _debounce from 'lodash/debounce';
2
- import { useState, useEffect, DependencyList } from 'react';
3
-
4
- import { Disposable, DisposableStore, IDisposable } from '@opensumi/ide-core-common';
5
-
6
- import { MenuNode } from '../menu/next/base';
7
- import { generateInlineActions } from '../menu/next/menu-util';
8
- import { IMenu, IMenuSeparator, IContextMenu } from '../menu/next/menu.interface';
9
- import { PreferenceService } from '../preferences/types';
10
- import { useInjectable } from '../react-hooks/injectable-hooks';
11
-
12
- export function useDebounce(value, delay) {
13
- const [denouncedValue, setDenouncedValue] = useState(value);
14
-
15
- useEffect(() => {
16
- const handler = setTimeout(() => {
17
- setDenouncedValue(value);
18
- }, delay);
19
-
20
- return () => {
21
- clearTimeout(handler);
22
- };
23
- }, [value, delay]);
24
-
25
- return denouncedValue;
26
- }
27
-
28
- export function useDisposable(callback: () => IDisposable | IDisposable[], deps: DependencyList = []) {
29
- useEffect(() => {
30
- const disposableStore = new DisposableStore();
31
- const disposables = callback();
32
- if (Array.isArray(disposables)) {
33
- disposables.forEach((disposable) => {
34
- disposableStore.add(disposable);
35
- });
36
- } else {
37
- disposableStore.add(disposables);
38
- }
39
-
40
- return () => {
41
- disposableStore.dispose();
42
- };
43
- }, deps);
44
- }
45
-
46
- export function useMenus(
47
- menus: IMenu,
48
- separator?: IMenuSeparator,
49
- args?: any[],
50
- // 防止 menu 快速变化
51
- debounce?: { delay: number; maxWait?: number },
52
- ) {
53
- const [menuConfig, setMenuConfig] = useState<[MenuNode[], MenuNode[]]>([[], []]);
54
-
55
- useDisposable(() => {
56
- let updateMenuConfig = () => {
57
- const result = generateInlineActions({
58
- menus,
59
- separator,
60
- args,
61
- });
62
-
63
- setMenuConfig(result);
64
- };
65
-
66
- if (debounce) {
67
- updateMenuConfig = _debounce(updateMenuConfig, debounce.delay, { maxWait: debounce.maxWait });
68
- }
69
-
70
- // initialize
71
- updateMenuConfig();
72
-
73
- return [
74
- menus.onDidChange(() => {
75
- updateMenuConfig();
76
- }),
77
- ];
78
- }, [menus, args]);
79
-
80
- return menuConfig;
81
- }
82
-
83
- export function useContextMenus(menus: IContextMenu) {
84
- const [menuConfig, setMenuConfig] = useState<[MenuNode[], MenuNode[]]>([[], []]);
85
- useDisposable(() => {
86
- updateMenuConfig(menus);
87
-
88
- function updateMenuConfig(menuArg: IContextMenu) {
89
- const result = menuArg.getGroupedMenuNodes();
90
- setMenuConfig(result);
91
- }
92
-
93
- return [
94
- menus.onDidChange(() => {
95
- updateMenuConfig(menus);
96
- }),
97
- ];
98
- }, [menus]);
99
-
100
- return menuConfig;
101
- }
102
-
103
- export function usePreference<T>(key: string, defaultValue: T) {
104
- const preferenceService: PreferenceService = useInjectable(PreferenceService);
105
- const [value, setValue] = useState<T>(preferenceService.get<T>(key, defaultValue) ?? defaultValue);
106
-
107
- useEffect(() => {
108
- const disposer = new Disposable(
109
- preferenceService.onSpecificPreferenceChange(key, (change) => {
110
- setValue(change.newValue);
111
- }),
112
- );
113
- return () => {
114
- disposer.dispose();
115
- };
116
- }, []);
117
- return value;
118
- }
@@ -1 +0,0 @@
1
- export * from './variable';
@@ -1,84 +0,0 @@
1
- import { Injectable } from '@opensumi/di';
2
- import { URI, IDisposable, Disposable, DisposableCollection, MaybePromise } from '@opensumi/ide-core-common';
3
-
4
- export type TVariableResolve = string | undefined | { [x: string]: string | undefined };
5
- export interface Variable {
6
- /**
7
- * 变量名,也作为唯一标识使用
8
- */
9
- readonly name: string;
10
-
11
- /**
12
- * 描述信息
13
- */
14
- readonly description?: string;
15
-
16
- /**
17
- * 处理返回值
18
- */
19
- resolve(context?: URI): MaybePromise<TVariableResolve>;
20
- }
21
-
22
- export const VariableContribution = Symbol('VariableContribution');
23
-
24
- export interface VariableContribution {
25
- registerVariables(variables: VariableRegistry): void;
26
- }
27
-
28
- export const VariableRegistry = Symbol('VariableRegistry');
29
-
30
- export interface VariableRegistry {
31
- registerVariable(variable: Variable): IDisposable;
32
- getVariables(): Variable[];
33
- getVariable(name: string): Variable | undefined;
34
- registerVariables(variables: Variable[]): IDisposable[];
35
- }
36
-
37
- @Injectable()
38
- export class VariableRegistryImpl implements IDisposable {
39
- protected readonly variables: Map<string, Variable> = new Map();
40
- protected readonly toDispose = new DisposableCollection();
41
-
42
- dispose(): void {
43
- this.toDispose.dispose();
44
- }
45
-
46
- /**
47
- * 为给定的变量名注册处理函数
48
- * 忽略已处理的变量
49
- */
50
- registerVariable(variable: Variable): IDisposable {
51
- if (this.variables.has(variable.name)) {
52
- // eslint-disable-next-line no-console
53
- console.warn(`A variables with name ${variable.name} is already registered.`);
54
- return Disposable.NULL;
55
- }
56
- this.variables.set(variable.name, variable);
57
- const disposable = {
58
- dispose: () => this.variables.delete(variable.name),
59
- };
60
- this.toDispose.push(disposable);
61
- return disposable;
62
- }
63
-
64
- /**
65
- * 返回所有已注册的变量
66
- */
67
- getVariables(): Variable[] {
68
- return [...this.variables.values()];
69
- }
70
-
71
- /**
72
- * 通过名称获取变量
73
- */
74
- getVariable(name: string): Variable | undefined {
75
- return this.variables.get(name);
76
- }
77
-
78
- /**
79
- * 注册多个变量
80
- */
81
- registerVariables(variables: Variable[]): IDisposable[] {
82
- return variables.map((v) => this.registerVariable(v));
83
- }
84
- }
@@ -1,34 +0,0 @@
1
- import { URI } from '@opensumi/ide-core-common';
2
-
3
- export const IWindowService = Symbol('WindowService');
4
-
5
- export interface NewWindowOptions {
6
- readonly external?: boolean;
7
- }
8
-
9
- export interface IOpenWorkspaceOption {
10
- newWindow?: boolean;
11
- }
12
-
13
- export interface IWindowService {
14
- /**
15
- * 打开新的window窗口
16
- * @param {string} url
17
- * @param {NewWindowOptions} [options]
18
- * @returns {(Window | undefined)}
19
- * @memberof WindowService
20
- */
21
- openNewWindow(url: string, options?: NewWindowOptions): Window | undefined;
22
-
23
- openWorkspace(workspace?: URI, options?: IOpenWorkspaceOption): void;
24
-
25
- close(): void;
26
-
27
- maximize(): void;
28
-
29
- unmaximize(): void;
30
-
31
- fullscreen(): void;
32
-
33
- minimize(): void;
34
- }
@@ -1,100 +0,0 @@
1
- import { Injectable, Autowired, INJECTOR_TOKEN, Injector } from '@opensumi/di';
2
- import { URI } from '@opensumi/ide-core-common';
3
- import { IElectronMainLifeCycleService, IElectronMainUIService } from '@opensumi/ide-core-common/lib/electron';
4
-
5
- import { AppConfig } from '../react-providers/config-provider';
6
- import { IExternalUriService } from '../services';
7
- import { electronEnv } from '../utils/electron';
8
-
9
- import { IWindowService, IOpenWorkspaceOption, NewWindowOptions } from '.';
10
-
11
- @Injectable()
12
- export class WindowService implements IWindowService {
13
- @Autowired(INJECTOR_TOKEN)
14
- private readonly injector: Injector;
15
-
16
- @Autowired(AppConfig)
17
- private readonly appConfig: AppConfig;
18
-
19
- openNewWindow(url: string, options?: NewWindowOptions): Window | undefined {
20
- if (this.appConfig.isElectronRenderer) {
21
- // Electron 环境下使用 shell.openExternal 方法打开外部 Uri
22
- const electronMainUIService: IElectronMainUIService = this.injector.get(IElectronMainUIService);
23
- // TODO: 由于 electron 下没有打开外部的警告(静默打开),此处直接 openExternal 可能会存在一定的安全隐患
24
- // 需要给用户添加一点提示。 或者这个也可以统一做到 OpenerService 里面。
25
- electronMainUIService.openExternal(url);
26
- return undefined;
27
- } else {
28
- if (options?.external) {
29
- const externalUriService = this.injector.get(IExternalUriService);
30
- url = externalUriService.resolveExternalUri(new URI(url)).toString(true);
31
- }
32
- const newWindow = window.open(url);
33
- if (newWindow === null) {
34
- throw new Error('Cannot open a new window for URL: ' + url);
35
- }
36
- return newWindow;
37
- }
38
- }
39
-
40
- openWorkspace(workspace: URI, options: IOpenWorkspaceOption = {}): void {
41
- if (this.appConfig.isElectronRenderer) {
42
- const electronMainLifecycle: IElectronMainLifeCycleService = this.injector.get(IElectronMainLifeCycleService);
43
- if (options.newWindow) {
44
- electronMainLifecycle.openWorkspace(workspace.toString());
45
- } else {
46
- electronMainLifecycle.openWorkspace(workspace.toString(), {
47
- windowId: electronEnv.currentWindowId,
48
- replace: true,
49
- });
50
- }
51
- } else {
52
- throw new Error('Method not implemented.');
53
- }
54
- }
55
-
56
- close(): void {
57
- if (this.appConfig.isElectronRenderer) {
58
- // 防止 node 进程被先关闭掉,导致再也无法关闭
59
- window.close();
60
- } else {
61
- throw new Error('Method not implemented.');
62
- }
63
- }
64
-
65
- maximize(): void {
66
- if (this.appConfig.isElectronRenderer) {
67
- const electronMainLifecycle: IElectronMainLifeCycleService = this.injector.get(IElectronMainLifeCycleService);
68
- electronMainLifecycle.maximizeWindow(electronEnv.currentWindowId);
69
- } else {
70
- throw new Error('Method not implemented.');
71
- }
72
- }
73
-
74
- unmaximize(): void {
75
- if (this.appConfig.isElectronRenderer) {
76
- const electronMainLifecycle: IElectronMainLifeCycleService = this.injector.get(IElectronMainLifeCycleService);
77
- electronMainLifecycle.unmaximizeWindow(electronEnv.currentWindowId);
78
- } else {
79
- throw new Error('Method not implemented.');
80
- }
81
- }
82
-
83
- fullscreen(): void {
84
- if (this.appConfig.isElectronRenderer) {
85
- const electronMainLifecycle: IElectronMainLifeCycleService = this.injector.get(IElectronMainLifeCycleService);
86
- electronMainLifecycle.fullscreenWindow(electronEnv.currentWindowId);
87
- } else {
88
- throw new Error('Method not implemented.');
89
- }
90
- }
91
-
92
- minimize(): void {
93
- if (this.appConfig.isElectronRenderer) {
94
- const electronMainLifecycle: IElectronMainLifeCycleService = this.injector.get(IElectronMainLifeCycleService);
95
- electronMainLifecycle.minimizeWindow(electronEnv.currentWindowId);
96
- } else {
97
- throw new Error('Method not implemented.');
98
- }
99
- }
100
- }