@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
@@ -1,414 +0,0 @@
1
- import { Injectable } from '@opensumi/di';
2
- import {
3
- IDisposable,
4
- DisposableCollection,
5
- Emitter,
6
- Event,
7
- URI,
8
- Deferred,
9
- isEmptyObject,
10
- FileStat,
11
- } from '@opensumi/ide-core-common';
12
- import { PreferenceScope } from '@opensumi/ide-core-common/lib/preferences/preference-scope';
13
-
14
- import { JSONUtils, JSONValue } from '../utils';
15
-
16
- import { getExternalPreferenceProvider, getAllExternalProviders } from './early-preferences';
17
- import { PreferenceResolveResult } from './types';
18
- export interface IResolvedPreferences {
19
- default: { [key: string]: any };
20
- languageSpecific: {
21
- [languageId: string]: { [key: string]: any };
22
- };
23
- }
24
- export interface PreferenceProviderDataChange {
25
- readonly preferenceName: string;
26
- readonly newValue?: any;
27
- readonly oldValue?: any;
28
- readonly scope: PreferenceScope;
29
- readonly domain?: string[];
30
- }
31
-
32
- export interface PreferenceProviderDataChanges {
33
- default: {
34
- [preferenceName: string]: PreferenceProviderDataChange;
35
- };
36
- languageSpecific: ILanguagePreferenceProviderDataChanges;
37
- }
38
-
39
- export interface ILanguagePreferenceProviderDataChanges {
40
- [languageId: string]: {
41
- [preferenceName: string]: PreferenceProviderDataChange;
42
- };
43
- }
44
-
45
- function transformReverse(delegates: {
46
- [delegated: string]: {
47
- delegateTo: string;
48
- transform?: (delegateValue: any) => any;
49
- };
50
- }): {
51
- [delegated: string]: {
52
- delegated: string;
53
- delegateTo: string;
54
- transform?: (delegateValue: any) => any;
55
- };
56
- } {
57
- const res = {};
58
- for (const key of Object.keys(delegates)) {
59
- res[delegates[key].delegateTo] = {
60
- delegated: key,
61
- ...delegates[key],
62
- };
63
- }
64
- return res;
65
- }
66
-
67
- @Injectable()
68
- export abstract class PreferenceProvider implements IDisposable {
69
- public readonly name: string;
70
-
71
- private readonly onDidPreferencesChangedEmitter = new Emitter<PreferenceProviderDataChanges>();
72
- public readonly onDidPreferencesChanged: Event<PreferenceProviderDataChanges> =
73
- this.onDidPreferencesChangedEmitter.event;
74
-
75
- protected readonly toDispose = new DisposableCollection();
76
-
77
- protected readonly _ready = new Deferred<void>();
78
-
79
- public resource: Promise<FileStat | void>;
80
-
81
- private _scope: PreferenceScope;
82
-
83
- // preferenceDelegate 原则, delegate值优先,不改变原有 delegateTo 的行为
84
- // 1. 当修改 delegate 设置值发生改变时,同时发出 delegate 和 delegateTo 的 change 事件。
85
- // 2. 当尝试获取 delegateTo 的值时,会尝试先获取 delegate 的值,如果没有值,继续原来的逻辑。
86
- // 3. 当尝试修改 delegateTo 的值时,删除 delegate 的值
87
- // 4. 当尝试获取 delegate 的值时,如果 delegate 没有值, 尝试获取 delegateTo 的值
88
- // 5. schema 只会检测改变后 delegatedTo 的值
89
- // 6. 不对语言特定的设置生效
90
- static PreferenceDelegates: {
91
- [delegated: string]: {
92
- delegateTo: string;
93
- transform?: (delegatedValue: any) => any;
94
- transformFrom?: (delegatedToValue: any) => any;
95
- };
96
- } = {
97
- 'workbench.colorTheme': {
98
- delegateTo: 'general.theme',
99
- },
100
- };
101
-
102
- static PreferenceDelegatesReverse: {
103
- [delegated: string]: {
104
- delegated: string;
105
- delegateTo: string;
106
- transform?: (delegatedValue: any) => any;
107
- transformFrom?: (delegatedToValue: any) => any;
108
- };
109
- } = transformReverse(PreferenceProvider.PreferenceDelegates);
110
-
111
- constructor() {
112
- this.toDispose.push(this.onDidPreferencesChangedEmitter);
113
- }
114
-
115
- public asScope(scope: PreferenceScope) {
116
- if (typeof this._scope !== 'undefined') {
117
- return;
118
- }
119
- this._scope = scope;
120
- // 如果 external provider 有监听器,监听
121
- getAllExternalProviders().forEach(([preferenceName, provider]) => {
122
- if (provider.onDidChange) {
123
- provider.onDidChange((e) => {
124
- if (e.scope === this._scope) {
125
- this.emitPreferencesChangedEvent(
126
- [
127
- {
128
- preferenceName,
129
- scope: e.scope,
130
- newValue: e.newValue,
131
- oldValue: e.oldValue,
132
- },
133
- ],
134
- true,
135
- );
136
- }
137
- });
138
- }
139
- });
140
- }
141
-
142
- public dispose(): void {
143
- this.toDispose.dispose();
144
- }
145
-
146
- /**
147
- * 处理事件监听中接收到的Event数据对象
148
- * 以便后续接收到数据后能确认来自那个配置项的值
149
- */
150
- protected emitPreferencesChangedEvent(
151
- changes: PreferenceProviderDataChanges | PreferenceProviderDataChange[],
152
- noFilterExternal?: boolean,
153
- ): boolean {
154
- let prefChanges: PreferenceProviderDataChanges;
155
- if (Array.isArray(changes)) {
156
- prefChanges = { default: {}, languageSpecific: {} };
157
- for (const change of changes) {
158
- prefChanges.default[change.preferenceName] = change;
159
- }
160
- } else {
161
- prefChanges = changes;
162
- }
163
- if (typeof this._scope !== 'undefined') {
164
- const preferenceNames = Object.keys(prefChanges.default);
165
- // 只对scope preference provider做处理
166
- for (const preferenceName of preferenceNames) {
167
- const change = prefChanges.default[preferenceName];
168
- if (PreferenceProvider.PreferenceDelegates[change.preferenceName]) {
169
- const delegate = PreferenceProvider.PreferenceDelegates[change.preferenceName];
170
- if (this.get(delegate.delegateTo) !== undefined && this.get(change.preferenceName) === undefined) {
171
- // 这种情况不发出 delegateTo 的改变
172
- } else {
173
- prefChanges.default[delegate.delegateTo] = {
174
- ...change,
175
- oldValue: undefined,
176
- newValue:
177
- change.newValue !== undefined
178
- ? delegate.transform
179
- ? delegate.transform(change.newValue)
180
- : change.newValue
181
- : undefined,
182
- preferenceName: delegate.delegateTo,
183
- };
184
- }
185
- }
186
- if (!noFilterExternal && !!getExternalPreferenceProvider(preferenceName)) {
187
- // 过滤externalProvider管理的preference
188
- delete prefChanges.default[preferenceName];
189
- }
190
- if (change.oldValue === change.newValue) {
191
- delete prefChanges.default[preferenceName];
192
- }
193
- }
194
- }
195
- if (prefChanges && !isEmptyObject(prefChanges)) {
196
- this.onDidPreferencesChangedEmitter.fire(prefChanges);
197
- return true;
198
- }
199
- return false;
200
- }
201
-
202
- // @final 不要 override 这个
203
- public get<T>(preferenceName: string, resourceUri?: string, language?: string): T | undefined {
204
- if (PreferenceProvider.PreferenceDelegatesReverse[preferenceName]) {
205
- const res = this.getDelegateToValueFromDelegated(preferenceName);
206
- if (res !== undefined) {
207
- return res;
208
- }
209
- }
210
- const value = this.getWithoutDelegate<T>(preferenceName, resourceUri, language);
211
- if (value === undefined && PreferenceProvider.PreferenceDelegates[preferenceName]) {
212
- return this.getDelegatedValueFromDelegateTo(preferenceName);
213
- } else {
214
- return value;
215
- }
216
- }
217
-
218
- public getWithoutDelegate<T>(preferenceName: string, resourceUri?: string, language?: string): T | undefined {
219
- if (typeof this._scope !== 'undefined') {
220
- const externalProvider = getExternalPreferenceProvider(preferenceName);
221
- if (externalProvider) {
222
- return externalProvider.get(this._scope);
223
- }
224
- }
225
- return this.doGet<T>(preferenceName, resourceUri, language);
226
- }
227
-
228
- // 从delegateTo 获取 delegated
229
- private getDelegatedValueFromDelegateTo(delegatedPreferenceName: string) {
230
- const delegate = PreferenceProvider.PreferenceDelegates[delegatedPreferenceName];
231
- const value = this.getWithoutDelegate(delegate!.delegateTo);
232
- if (delegate.transformFrom) {
233
- return delegate.transformFrom(value);
234
- } else {
235
- return value;
236
- }
237
- }
238
-
239
- // 从delegate 获取 delegateTo
240
- private getDelegateToValueFromDelegated(delegateToPreferenceName: string) {
241
- const delegate = PreferenceProvider.PreferenceDelegatesReverse[delegateToPreferenceName];
242
- const value = this.getWithoutDelegate(delegate!.delegated);
243
- if (delegate.transform) {
244
- return delegate.transform(value);
245
- } else {
246
- return value;
247
- }
248
- }
249
-
250
- protected doGet<T>(preferenceName: string, resourceUri?: string, language?: string): T | undefined {
251
- return this.doResolve<T>(preferenceName, resourceUri, language).value;
252
- }
253
-
254
- // @final 不要 override 这个
255
- public resolve<T>(preferenceName: string, resourceUri?: string, language?: string): PreferenceResolveResult<T> {
256
- if (PreferenceProvider.PreferenceDelegatesReverse[preferenceName]) {
257
- const res = this.getDelegateToValueFromDelegated(preferenceName);
258
- if (res !== undefined) {
259
- return { value: res, scope: this._scope }; // FIXME: 这里好像scope有点问题,暂时不影响
260
- }
261
- }
262
- if (typeof this._scope !== 'undefined') {
263
- const externalProvider = getExternalPreferenceProvider(preferenceName);
264
- if (externalProvider) {
265
- return {
266
- value: externalProvider.get(this._scope),
267
- scope: this._scope,
268
- };
269
- }
270
- }
271
- const res = this.doResolve<T>(preferenceName, resourceUri, language);
272
- if (res.value === undefined && PreferenceProvider.PreferenceDelegates[preferenceName]) {
273
- return { value: this.getDelegatedValueFromDelegateTo(preferenceName), scope: this._scope }; // FIXME: 这里好像scope有点问题,暂时不影响
274
- } else {
275
- return res;
276
- }
277
- }
278
-
279
- protected doResolve<T>(preferenceName: string, resourceUri?: string, language?: string): PreferenceResolveResult<T> {
280
- const preferences = this.getPreferences(resourceUri, language);
281
- if (!preferences) {
282
- return {};
283
- }
284
- const value = preferences[preferenceName];
285
- if (value !== undefined) {
286
- return {
287
- value,
288
- configUri: this.getConfigUri(resourceUri),
289
- };
290
- }
291
- return {};
292
- }
293
-
294
- /**
295
- * 获取制定资源或语言的所有配置,当返回值为undefined时代表无应资源或语言配置
296
- *
297
- * @abstract
298
- * @param {string} [resourceUri] 资源路径
299
- * @param {string} [language] 语言标识符
300
- * @returns {({ [p: string]: any } | undefined)}
301
- * @memberof PreferenceProvider
302
- */
303
- public abstract getPreferences(resourceUri?: string, language?: string): { [p: string]: any } | undefined;
304
-
305
- /**
306
- * 获取制定资源或语言的所有语言配置,当返回值为undefined时代表无对应资源或语言配置
307
- *
308
- * @abstract
309
- * @param {string} [resourceUri] 资源路径
310
- * @param {string} [language] 语言标识符
311
- * @returns {({ [language: string]: {[p: string]: any} } | undefined)}
312
- * @memberof PreferenceProvider
313
- */
314
- public abstract getLanguagePreferences(
315
- resourceUri?: string,
316
- language?: string,
317
- ): { [language: string]: { [p: string]: any } } | undefined;
318
-
319
- public async setPreference(
320
- preferenceName: string,
321
- value: any,
322
- resourceUri?: string,
323
- language?: string,
324
- ): Promise<boolean> {
325
- // 对于我们 workbench.colorTheme -> general.theme 这种托管,
326
- // 修改 workbench.colorTheme 为 'themeA' 的时候,get('general.theme'),会首先查看 workbench.colorTheme,
327
- // 如果有值,则采用 workbench.colorTheme, 而不管配置文件中是否 general.theme 有值,
328
- // 换言之,在 workbench.colorTheme 有值的情况下,general.theme 无论怎么修改都是无效的,
329
- // 因此如果 setPreference('general.theme', 'themeA' ) 的话,必须先把 workbench.colorTheme 置空才能生效。
330
- //
331
- // 这种情况下,插件进程的 vscode.workspace.onDidConfigurationChange 会触发两次事件变化
332
- // 一个为 general.theme, 一个为workbench.colorTheme
333
- if (PreferenceProvider.PreferenceDelegatesReverse[preferenceName]) {
334
- // 将delegate置空
335
- const delegate = PreferenceProvider.PreferenceDelegatesReverse[preferenceName];
336
- await this.setPreference(delegate.delegated, undefined);
337
- }
338
- if (typeof this._scope !== 'undefined') {
339
- const externalProvider = getExternalPreferenceProvider(preferenceName);
340
- if (externalProvider) {
341
- try {
342
- const oldValue = externalProvider.get(this._scope);
343
- await externalProvider.set(value, this._scope);
344
- // 如果外部provider没有监听器,帮助他发送改变事件
345
- if (!externalProvider.onDidChange) {
346
- this.emitPreferencesChangedEvent(
347
- [
348
- {
349
- preferenceName,
350
- scope: this._scope,
351
- oldValue,
352
- newValue: externalProvider.get(this._scope),
353
- },
354
- ],
355
- true,
356
- );
357
- }
358
- return true;
359
- } catch (e) {
360
- return false;
361
- }
362
- }
363
- }
364
- return await this.doSetPreference(preferenceName, value, resourceUri, language);
365
- }
366
-
367
- protected abstract doSetPreference(
368
- preferenceName: string,
369
- value: any,
370
- resourceUri?: string,
371
- language?: string,
372
- ): Promise<boolean>;
373
-
374
- /**
375
- * 返回promise,当 preference provider 已经可以提供配置时返回resolved
376
- */
377
- get ready() {
378
- return this._ready.promise;
379
- }
380
-
381
- /**
382
- * 默认返回undefined
383
- */
384
- public getDomain(): string[] | undefined {
385
- return undefined;
386
- }
387
-
388
- /**
389
- * 默认返回undefined
390
- */
391
- public getConfigUri(resourceUri?: string): URI | undefined {
392
- return undefined;
393
- }
394
-
395
- public static merge(source: JSONValue | undefined, target: JSONValue): JSONValue {
396
- if (source === undefined || !JSONUtils.isObject(source)) {
397
- return JSONUtils.deepCopy(target);
398
- }
399
- if (JSONUtils.isPrimitive(target)) {
400
- return {};
401
- }
402
- for (const key of Object.keys(target)) {
403
- const value = (target as any)[key];
404
- if (key in source) {
405
- if (JSONUtils.isObject(source[key]) && JSONUtils.isObject(value)) {
406
- this.merge(source[key], value);
407
- continue;
408
- }
409
- }
410
- source[key] = JSONUtils.deepCopy(value);
411
- }
412
- return source;
413
- }
414
- }
@@ -1,291 +0,0 @@
1
- import { Disposable, Event, isObject, isUndefined, PreferenceSchema, PreferenceScope } from '@opensumi/ide-core-common';
2
-
3
- import { PreferenceService } from './types';
4
-
5
- export interface PreferenceChangeEvent<T> {
6
- readonly preferenceName: keyof T;
7
- readonly newValue?: T[keyof T];
8
- readonly oldValue?: T[keyof T];
9
- affects(resourceUri?: string, overrideIdentifier?: string): boolean;
10
- }
11
-
12
- export interface PreferenceProxyOptions {
13
- /**
14
- * 所有配置的默认前缀
15
- */
16
- prefix?: string;
17
- /**
18
- * 获取或设置配置的默认资源路径
19
- */
20
- resourceUri?: string;
21
- /**
22
- * 对齐VSCode实现,overrideIdentifier主要用于实现针对不同编辑器设置不同配置的能力
23
- * 与原有的language设定一致
24
- *
25
- * 如 [markdown].editor.autoIndent、[json].editor.autoIndent 及 editor.autoIndent 等
26
- */
27
- overrideIdentifier?: string;
28
- /**
29
- * 用来指代获取一个配置时是否为“平面含义”上的获取
30
- *
31
- * 如:
32
- * a.b.c 在flat模式下为单个配置的值
33
- * deep模式下则可以为 a 配置下的 b 配置下的 c 的值
34
- * both指代同时在两种配置模式下检索值
35
- */
36
- style?: 'flat' | 'deep' | 'both';
37
- }
38
-
39
- export interface PreferenceEventEmitter<T> {
40
- readonly onPreferenceChanged: Event<PreferenceChangeEvent<T>>;
41
- readonly ready: Promise<void>;
42
- }
43
-
44
- export interface PreferenceRetrieval<T> {
45
- get<K extends keyof T>(preferenceName: K, defaultValue?: T[K], resourceUri?: string): T[K];
46
- }
47
-
48
- export type PreferenceProxy<T> = Readonly<T> & Disposable & PreferenceEventEmitter<T> & PreferenceRetrieval<T>;
49
-
50
- export function createPreferenceProxy<T>(
51
- preferences: PreferenceService,
52
- schema: PreferenceSchema,
53
- options?: PreferenceProxyOptions,
54
- ): PreferenceProxy<T> {
55
- const opts = options || {};
56
- const prefix = opts.prefix || '';
57
- const style = opts.style || 'flat';
58
- const isDeep = style === 'deep' || style === 'both';
59
- const isFlat = style === 'both' || style === 'flat';
60
- const onPreferenceChanged = (
61
- listener: (e: PreferenceChangeEvent<T>) => any,
62
- thisArgs?: any,
63
- disposables?: Disposable[],
64
- ) => {
65
- const disposer = new Disposable();
66
- disposer.addDispose(
67
- preferences.onPreferencesChanged(
68
- (changes) => {
69
- for (const key of Object.keys(changes)) {
70
- const e = changes[key];
71
- const preferenceName: any = e.preferenceName;
72
- if (preferenceName.startsWith(prefix)) {
73
- if (schema.properties[preferenceName]) {
74
- if (opts.resourceUri) {
75
- if (e.affects(opts.resourceUri)) {
76
- if (
77
- opts.overrideIdentifier &&
78
- !preferences.hasLanguageSpecific(preferenceName, opts.overrideIdentifier, opts.resourceUri)
79
- ) {
80
- continue;
81
- }
82
- listener(e as any);
83
- }
84
- } else {
85
- listener(e as any);
86
- }
87
- }
88
- }
89
- }
90
- },
91
- thisArgs,
92
- disposables,
93
- ),
94
- );
95
- // 添加语言相关 changes 变更
96
- if (opts.overrideIdentifier) {
97
- disposer.addDispose(
98
- preferences.onLanguagePreferencesChanged(
99
- (event) => {
100
- if (event.overrideIdentifier === opts.overrideIdentifier) {
101
- for (const key of Object.keys(event.changes)) {
102
- const e = event.changes[key];
103
- const preferenceName: any = e.preferenceName;
104
- if (preferenceName.startsWith(prefix)) {
105
- if (schema.properties[preferenceName]) {
106
- if (opts.resourceUri) {
107
- if (e.affects(opts.resourceUri)) {
108
- listener(e as any);
109
- }
110
- } else {
111
- listener(e as any);
112
- }
113
- }
114
- }
115
- }
116
- }
117
- },
118
- thisArgs,
119
- disposables,
120
- ),
121
- );
122
- }
123
- return disposer;
124
- };
125
-
126
- const unsupportedOperation = (_: any, __: string) => {
127
- throw new Error('Unsupported operation');
128
- };
129
-
130
- const getValue: PreferenceRetrieval<any>['get'] = (
131
- preferenceName: any,
132
- defaultValue,
133
- resourceUri,
134
- overrideIdentifier?: string,
135
- ) =>
136
- preferences.get(
137
- preferenceName,
138
- defaultValue,
139
- resourceUri || opts.resourceUri,
140
- overrideIdentifier || opts.overrideIdentifier,
141
- );
142
-
143
- const ownKeys: () => string[] = () => {
144
- const properties: string[] = [];
145
- for (const p of Object.keys(schema.properties)) {
146
- if (p.startsWith(prefix)) {
147
- const idx = p.indexOf('.', prefix.length);
148
- if (idx !== -1 && isDeep) {
149
- const pre = p.substr(prefix.length, idx - prefix.length);
150
- if (properties.indexOf(pre) === -1) {
151
- properties.push(pre);
152
- }
153
- }
154
- const prop = p.substr(prefix.length);
155
- if (isFlat || prop.indexOf('.') === -1) {
156
- properties.push(prop);
157
- }
158
- }
159
- }
160
- return properties;
161
- };
162
-
163
- const set: (target: any, prop: string, value: any, receiver: any) => boolean = (
164
- _,
165
- property: string | symbol | number,
166
- value: any,
167
- ) => {
168
- if (typeof property !== 'string') {
169
- throw new Error(`unexpected property: ${String(property)}`);
170
- }
171
- if (style === 'deep' && property.indexOf('.') !== -1) {
172
- return false;
173
- }
174
- const fullProperty = prefix ? prefix + property : property;
175
- if (schema.properties[fullProperty]) {
176
- preferences.set(fullProperty, value, PreferenceScope.Default);
177
- return true;
178
- }
179
- const newPrefix = fullProperty + '.';
180
- for (const p of Object.keys(schema.properties)) {
181
- if (p.startsWith(newPrefix)) {
182
- const subProxy: { [k: string]: any } = createPreferenceProxy(preferences, schema, {
183
- prefix: newPrefix,
184
- resourceUri: opts.resourceUri,
185
- overrideIdentifier: opts.overrideIdentifier,
186
- style,
187
- });
188
- for (const k of Object.keys(value)) {
189
- subProxy[k] = value[k];
190
- }
191
- }
192
- }
193
- return false;
194
- };
195
-
196
- const get: (target: any, prop: string) => any = (_, property: string | symbol | number) => {
197
- if (typeof property !== 'string') {
198
- throw new Error(`unexpected property: ${String(property)}`);
199
- }
200
- const fullProperty = prefix ? prefix + property : property;
201
- if (isFlat || property.indexOf('.') === -1) {
202
- if (schema.properties[fullProperty]) {
203
- return preferences.get(fullProperty, undefined, opts.resourceUri, opts.overrideIdentifier);
204
- }
205
- }
206
- if (property === 'onPreferenceChanged') {
207
- return onPreferenceChanged;
208
- }
209
- if (property === 'dispose') {
210
- return () => {
211
- /* do nothing */
212
- };
213
- }
214
- if (property === 'ready') {
215
- return preferences.ready;
216
- }
217
- if (property === 'get') {
218
- return getValue;
219
- }
220
- if (property === 'toJSON') {
221
- return toJSON();
222
- }
223
- if (isDeep) {
224
- const newPrefix = fullProperty + '.';
225
- for (const p of Object.keys(schema.properties)) {
226
- // 这里实际上要求 Configuration 在注册的时候声明全量配置名
227
- // 如,获取 a.b, 则要求 Configuration 声明时必须为 a.b.c
228
- if (p.startsWith(newPrefix)) {
229
- return createPreferenceProxy(preferences, schema, {
230
- prefix: newPrefix,
231
- resourceUri: opts.resourceUri,
232
- overrideIdentifier: opts.overrideIdentifier,
233
- style,
234
- });
235
- }
236
- }
237
-
238
- // 升级 Monaco 0.20.0 版本后,Monaco 中的ConfigurationService会尝试通过配置全称获取配置值
239
- // 如,直接获取 a.b.c.d 配置值
240
- // 下面的逻辑兼容了通过 a.b 获取 a.b.c, a.b.c.d 的方式
241
- let value;
242
- let parentSegment = fullProperty;
243
- const segments: string[] = [];
244
- for (let index; parentSegment && isUndefined(value); ) {
245
- index = parentSegment.lastIndexOf('.');
246
- // 查找到对应值后退出查询
247
- segments.push(parentSegment.substring(index + 1));
248
- parentSegment = parentSegment.substring(0, index);
249
- if (parentSegment in schema.properties) {
250
- value = get(_, parentSegment);
251
- }
252
- }
253
-
254
- let segment;
255
- while (isObject(value) && (segment = segments.pop())) {
256
- // 进一步遍历获取配置值
257
- value = value[segment];
258
- }
259
- return segments.length ? undefined : value;
260
- }
261
- return undefined;
262
- };
263
-
264
- const toJSON = () => {
265
- const result: any = {};
266
- for (const k of ownKeys()) {
267
- result[k] = get(undefined, k);
268
- }
269
- return result;
270
- };
271
-
272
- return new Proxy(
273
- {},
274
- {
275
- get,
276
- ownKeys,
277
- getOwnPropertyDescriptor: (_, property: string) => {
278
- if (ownKeys().indexOf(property) !== -1) {
279
- return {
280
- enumerable: true,
281
- configurable: true,
282
- };
283
- }
284
- return {};
285
- },
286
- set,
287
- deleteProperty: unsupportedOperation,
288
- defineProperty: unsupportedOperation,
289
- },
290
- );
291
- }
@@ -1,3 +0,0 @@
1
- import { PreferenceScope } from '@opensumi/ide-core-common/lib/preferences/preference-scope';
2
-
3
- export { PreferenceScope };