@theia/core 1.65.0-next.19 → 1.65.0-next.28

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 (331) hide show
  1. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts +1 -1
  2. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts.map +1 -1
  3. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +1 -1
  4. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
  5. package/lib/browser/catalog.json +13 -4
  6. package/lib/browser/common-frontend-contribution.d.ts +2 -3
  7. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  8. package/lib/browser/common-frontend-contribution.js +3 -4
  9. package/lib/browser/common-frontend-contribution.js.map +1 -1
  10. package/lib/browser/encoding-registry.d.ts +1 -1
  11. package/lib/browser/encoding-registry.d.ts.map +1 -1
  12. package/lib/browser/encoding-registry.js +1 -1
  13. package/lib/browser/encoding-registry.js.map +1 -1
  14. package/lib/browser/frontend-application-bindings.d.ts.map +1 -1
  15. package/lib/browser/frontend-application-bindings.js +10 -17
  16. package/lib/browser/frontend-application-bindings.js.map +1 -1
  17. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  18. package/lib/browser/frontend-application-module.js +4 -5
  19. package/lib/browser/frontend-application-module.js.map +1 -1
  20. package/lib/browser/frontend-application.d.ts +1 -1
  21. package/lib/browser/frontend-application.d.ts.map +1 -1
  22. package/lib/browser/frontend-application.js +1 -1
  23. package/lib/browser/frontend-application.js.map +1 -1
  24. package/lib/browser/hover-service.d.ts +1 -2
  25. package/lib/browser/hover-service.d.ts.map +1 -1
  26. package/lib/browser/hover-service.js +1 -2
  27. package/lib/browser/hover-service.js.map +1 -1
  28. package/lib/browser/icon-theme-service.d.ts +3 -2
  29. package/lib/browser/icon-theme-service.d.ts.map +1 -1
  30. package/lib/browser/icon-theme-service.js +4 -3
  31. package/lib/browser/icon-theme-service.js.map +1 -1
  32. package/lib/browser/index.d.ts +0 -1
  33. package/lib/browser/index.d.ts.map +1 -1
  34. package/lib/browser/index.js +0 -1
  35. package/lib/browser/index.js.map +1 -1
  36. package/lib/browser/keybinding.d.ts +1 -1
  37. package/lib/browser/keybinding.d.ts.map +1 -1
  38. package/lib/browser/keybinding.js +1 -1
  39. package/lib/browser/keybinding.js.map +1 -1
  40. package/lib/browser/keybinding.spec.js +1 -1
  41. package/lib/browser/keybinding.spec.js.map +1 -1
  42. package/lib/browser/menu/browser-menu-plugin.d.ts +2 -2
  43. package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
  44. package/lib/browser/menu/browser-menu-plugin.js +2 -3
  45. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  46. package/lib/browser/open-with-service.d.ts +1 -1
  47. package/lib/browser/open-with-service.d.ts.map +1 -1
  48. package/lib/browser/open-with-service.js +3 -3
  49. package/lib/browser/open-with-service.js.map +1 -1
  50. package/lib/browser/opener-service.d.ts +1 -2
  51. package/lib/browser/opener-service.d.ts.map +1 -1
  52. package/lib/browser/opener-service.js.map +1 -1
  53. package/lib/browser/preferences/frontend-config-preference-contributions.d.ts +6 -0
  54. package/lib/browser/preferences/frontend-config-preference-contributions.d.ts.map +1 -0
  55. package/lib/browser/preferences/frontend-config-preference-contributions.js +60 -0
  56. package/lib/browser/preferences/frontend-config-preference-contributions.js.map +1 -0
  57. package/lib/browser/preferences/index.d.ts +0 -5
  58. package/lib/browser/preferences/index.d.ts.map +1 -1
  59. package/lib/browser/preferences/index.js +0 -5
  60. package/lib/browser/preferences/index.js.map +1 -1
  61. package/lib/browser/preferences/preference-contribution.d.ts +0 -96
  62. package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
  63. package/lib/browser/preferences/preference-contribution.js +14 -355
  64. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  65. package/lib/browser/preferences/preference-proxy.spec.js +25 -17
  66. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  67. package/lib/browser/preferences/preference-schema-provider.spec.js +21 -34
  68. package/lib/browser/preferences/preference-schema-provider.spec.js.map +1 -1
  69. package/lib/browser/preferences/preference-service.spec.js +57 -80
  70. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  71. package/lib/browser/preferences/preference-validation-service.d.ts +24 -26
  72. package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
  73. package/lib/browser/preferences/preference-validation-service.js +40 -20
  74. package/lib/browser/preferences/preference-validation-service.js.map +1 -1
  75. package/lib/browser/preferences/preference-validation-service.spec.js +10 -6
  76. package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
  77. package/lib/browser/preferences/test/mock-preference-provider.d.ts +2 -3
  78. package/lib/browser/preferences/test/mock-preference-provider.d.ts.map +1 -1
  79. package/lib/browser/preferences/test/mock-preference-provider.js +5 -7
  80. package/lib/browser/preferences/test/mock-preference-provider.js.map +1 -1
  81. package/lib/browser/preferences/test/mock-preference-proxy.d.ts.map +1 -1
  82. package/lib/browser/preferences/test/mock-preference-proxy.js.map +1 -1
  83. package/lib/browser/preferences/test/mock-preference-service.d.ts +1 -4
  84. package/lib/browser/preferences/test/mock-preference-service.d.ts.map +1 -1
  85. package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
  86. package/lib/browser/quick-input/quick-command-service.d.ts +1 -1
  87. package/lib/browser/quick-input/quick-command-service.d.ts.map +1 -1
  88. package/lib/browser/quick-input/quick-command-service.js +1 -1
  89. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  90. package/lib/browser/request/browser-request-service.d.ts +1 -1
  91. package/lib/browser/request/browser-request-service.d.ts.map +1 -1
  92. package/lib/browser/request/browser-request-service.js +2 -2
  93. package/lib/browser/request/browser-request-service.js.map +1 -1
  94. package/lib/browser/shell/application-shell.d.ts +1 -1
  95. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  96. package/lib/browser/shell/application-shell.js +1 -1
  97. package/lib/browser/shell/application-shell.js.map +1 -1
  98. package/lib/browser/shell/tab-bars.d.ts +1 -1
  99. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  100. package/lib/browser/shell/theia-dock-panel.d.ts +1 -1
  101. package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
  102. package/lib/browser/status-bar/status-bar.d.ts +1 -1
  103. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  104. package/lib/browser/status-bar/status-bar.js +1 -1
  105. package/lib/browser/status-bar/status-bar.js.map +1 -1
  106. package/lib/browser/theming.d.ts +5 -4
  107. package/lib/browser/theming.d.ts.map +1 -1
  108. package/lib/browser/theming.js +7 -6
  109. package/lib/browser/theming.js.map +1 -1
  110. package/lib/browser/tooltip-service.d.ts +1 -1
  111. package/lib/browser/tooltip-service.d.ts.map +1 -1
  112. package/lib/browser/tooltip-service.js +1 -1
  113. package/lib/browser/tooltip-service.js.map +1 -1
  114. package/lib/browser/tree/index.d.ts +0 -1
  115. package/lib/browser/tree/index.d.ts.map +1 -1
  116. package/lib/browser/tree/index.js +0 -1
  117. package/lib/browser/tree/index.js.map +1 -1
  118. package/lib/browser/tree/tree-widget.d.ts +2 -2
  119. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  120. package/lib/browser/tree/tree-widget.js +3 -3
  121. package/lib/browser/tree/tree-widget.js.map +1 -1
  122. package/lib/browser/window/default-secondary-window-service.d.ts +1 -2
  123. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  124. package/lib/browser/window/default-secondary-window-service.js +1 -2
  125. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  126. package/lib/browser/window/default-window-service.d.ts +1 -1
  127. package/lib/browser/window/default-window-service.d.ts.map +1 -1
  128. package/lib/browser/window/default-window-service.js +1 -1
  129. package/lib/browser/window/default-window-service.js.map +1 -1
  130. package/lib/browser/window/default-window-service.spec.js +1 -1
  131. package/lib/browser/window/default-window-service.spec.js.map +1 -1
  132. package/lib/browser/window/window-title-service.d.ts +1 -1
  133. package/lib/browser/window/window-title-service.d.ts.map +1 -1
  134. package/lib/browser/window/window-title-service.js +1 -1
  135. package/lib/browser/window/window-title-service.js.map +1 -1
  136. package/lib/{browser → common}/core-preferences.d.ts +2 -1
  137. package/lib/common/core-preferences.d.ts.map +1 -0
  138. package/lib/{browser → common}/core-preferences.js +17 -18
  139. package/lib/common/core-preferences.js.map +1 -0
  140. package/lib/common/index.d.ts +4 -0
  141. package/lib/common/index.d.ts.map +1 -1
  142. package/lib/common/index.js +4 -0
  143. package/lib/common/index.js.map +1 -1
  144. package/lib/common/inversify-utils.d.ts +31 -0
  145. package/lib/common/inversify-utils.d.ts.map +1 -0
  146. package/lib/common/inversify-utils.js +60 -0
  147. package/lib/common/inversify-utils.js.map +1 -0
  148. package/lib/common/json-schema.d.ts +1 -0
  149. package/lib/common/json-schema.d.ts.map +1 -1
  150. package/lib/common/preferences/defaults-preference-provider.d.ts +21 -0
  151. package/lib/common/preferences/defaults-preference-provider.d.ts.map +1 -0
  152. package/lib/common/preferences/defaults-preference-provider.js +99 -0
  153. package/lib/common/preferences/defaults-preference-provider.js.map +1 -0
  154. package/lib/common/preferences/index.d.ts +12 -0
  155. package/lib/common/preferences/index.d.ts.map +1 -0
  156. package/lib/common/preferences/index.js +30 -0
  157. package/lib/common/preferences/index.js.map +1 -0
  158. package/lib/{browser → common}/preferences/injectable-preference-proxy.d.ts +1 -1
  159. package/lib/common/preferences/injectable-preference-proxy.d.ts.map +1 -0
  160. package/lib/{browser → common}/preferences/injectable-preference-proxy.js +2 -2
  161. package/lib/common/preferences/injectable-preference-proxy.js.map +1 -0
  162. package/lib/common/preferences/preference-configurations.d.ts.map +1 -0
  163. package/lib/common/preferences/preference-configurations.js.map +1 -0
  164. package/lib/{browser → common}/preferences/preference-language-override-service.d.ts +4 -13
  165. package/lib/common/preferences/preference-language-override-service.d.ts.map +1 -0
  166. package/lib/{browser → common}/preferences/preference-language-override-service.js +14 -30
  167. package/lib/common/preferences/preference-language-override-service.js.map +1 -0
  168. package/lib/common/preferences/preference-provider-impl.d.ts +52 -0
  169. package/lib/common/preferences/preference-provider-impl.d.ts.map +1 -0
  170. package/lib/{browser/preferences/preference-provider.js → common/preferences/preference-provider-impl.js} +23 -95
  171. package/lib/common/preferences/preference-provider-impl.js.map +1 -0
  172. package/lib/{browser → common}/preferences/preference-provider.d.ts +34 -59
  173. package/lib/common/preferences/preference-provider.d.ts.map +1 -0
  174. package/lib/common/preferences/preference-provider.js +71 -0
  175. package/lib/common/preferences/preference-provider.js.map +1 -0
  176. package/lib/common/preferences/preference-provider.spec.d.ts.map +1 -0
  177. package/lib/{browser → common}/preferences/preference-provider.spec.js +4 -4
  178. package/lib/common/preferences/preference-provider.spec.js.map +1 -0
  179. package/lib/{browser → common}/preferences/preference-proxy.d.ts +2 -2
  180. package/lib/common/preferences/preference-proxy.d.ts.map +1 -0
  181. package/lib/{browser → common}/preferences/preference-proxy.js +10 -10
  182. package/lib/common/preferences/preference-proxy.js.map +1 -0
  183. package/lib/common/preferences/preference-schema-service.d.ts +55 -0
  184. package/lib/common/preferences/preference-schema-service.d.ts.map +1 -0
  185. package/lib/common/preferences/preference-schema-service.js +402 -0
  186. package/lib/common/preferences/preference-schema-service.js.map +1 -0
  187. package/lib/common/preferences/preference-schema.d.ts +145 -43
  188. package/lib/common/preferences/preference-schema.d.ts.map +1 -1
  189. package/lib/common/preferences/preference-schema.js +3 -41
  190. package/lib/common/preferences/preference-schema.js.map +1 -1
  191. package/lib/common/preferences/preference-scope.d.ts +4 -1
  192. package/lib/common/preferences/preference-scope.d.ts.map +1 -1
  193. package/lib/common/preferences/preference-scope.js +5 -14
  194. package/lib/common/preferences/preference-scope.js.map +1 -1
  195. package/lib/{browser → common}/preferences/preference-service.d.ts +9 -10
  196. package/lib/common/preferences/preference-service.d.ts.map +1 -0
  197. package/lib/{browser → common}/preferences/preference-service.js +65 -60
  198. package/lib/common/preferences/preference-service.js.map +1 -0
  199. package/lib/common/supported-encodings.d.ts.map +1 -0
  200. package/lib/common/supported-encodings.js.map +1 -0
  201. package/lib/{browser/tree → common}/tree-preference.d.ts +1 -1
  202. package/lib/common/tree-preference.d.ts.map +1 -0
  203. package/lib/{browser/tree → common}/tree-preference.js +3 -5
  204. package/lib/common/tree-preference.js.map +1 -0
  205. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +2 -1
  206. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
  207. package/lib/electron-browser/menu/electron-context-menu-renderer.js +2 -1
  208. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  209. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -2
  210. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  211. package/lib/electron-browser/menu/electron-main-menu-factory.js +1 -1
  212. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  213. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -2
  214. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  215. package/lib/electron-browser/menu/electron-menu-contribution.js +6 -6
  216. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  217. package/lib/electron-browser/window/electron-window-module.js +1 -1
  218. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  219. package/lib/electron-browser/window/electron-window-service.d.ts +1 -1
  220. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  221. package/lib/electron-browser/window/electron-window-service.js +1 -1
  222. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  223. package/lib/{electron-browser/window → electron-common}/electron-window-preferences.d.ts +2 -1
  224. package/lib/electron-common/electron-window-preferences.d.ts.map +1 -0
  225. package/lib/{electron-browser/window → electron-common}/electron-window-preferences.js +7 -7
  226. package/lib/electron-common/electron-window-preferences.js.map +1 -0
  227. package/lib/electron-node/window/electron-window-module.d.ts +4 -0
  228. package/lib/electron-node/window/electron-window-module.d.ts.map +1 -0
  229. package/lib/{browser/preferences/preference-scope.js → electron-node/window/electron-window-module.js} +7 -5
  230. package/lib/electron-node/window/electron-window-module.js.map +1 -0
  231. package/lib/node/backend-application-module.d.ts.map +1 -1
  232. package/lib/node/backend-application-module.js +13 -0
  233. package/lib/node/backend-application-module.js.map +1 -1
  234. package/package.json +6 -5
  235. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +1 -1
  236. package/src/browser/common-frontend-contribution.ts +2 -3
  237. package/src/browser/encoding-registry.ts +1 -1
  238. package/src/browser/frontend-application-bindings.ts +8 -13
  239. package/src/browser/frontend-application-module.ts +4 -4
  240. package/src/browser/frontend-application.ts +1 -1
  241. package/src/browser/hover-service.ts +1 -2
  242. package/src/browser/icon-theme-service.ts +3 -2
  243. package/src/browser/index.ts +0 -1
  244. package/src/browser/keybinding.spec.ts +1 -1
  245. package/src/browser/keybinding.ts +1 -1
  246. package/src/browser/menu/browser-menu-plugin.ts +4 -4
  247. package/src/browser/open-with-service.ts +1 -1
  248. package/src/browser/opener-service.ts +1 -2
  249. package/src/browser/preferences/frontend-config-preference-contributions.ts +52 -0
  250. package/src/browser/preferences/index.ts +0 -5
  251. package/src/browser/preferences/preference-contribution.ts +16 -398
  252. package/src/browser/preferences/preference-proxy.spec.ts +27 -17
  253. package/src/browser/preferences/preference-schema-provider.spec.ts +25 -37
  254. package/src/browser/preferences/preference-service.spec.ts +32 -56
  255. package/src/browser/preferences/preference-validation-service.spec.ts +27 -19
  256. package/src/browser/preferences/preference-validation-service.ts +60 -41
  257. package/src/browser/preferences/test/mock-preference-provider.ts +2 -5
  258. package/src/browser/preferences/test/mock-preference-proxy.ts +1 -2
  259. package/src/browser/preferences/test/mock-preference-service.ts +1 -4
  260. package/src/browser/quick-input/quick-command-service.ts +1 -1
  261. package/src/browser/request/browser-request-service.ts +4 -4
  262. package/src/browser/shell/application-shell.ts +1 -1
  263. package/src/browser/shell/tab-bars.ts +1 -1
  264. package/src/browser/shell/theia-dock-panel.ts +1 -1
  265. package/src/browser/status-bar/status-bar.tsx +1 -1
  266. package/src/browser/theming.ts +7 -6
  267. package/src/browser/tooltip-service.tsx +1 -1
  268. package/src/browser/tree/index.ts +0 -1
  269. package/src/browser/tree/tree-widget.tsx +4 -4
  270. package/src/browser/window/default-secondary-window-service.ts +1 -2
  271. package/src/browser/window/default-window-service.spec.ts +1 -1
  272. package/src/browser/window/default-window-service.ts +1 -1
  273. package/src/browser/window/window-title-service.ts +1 -1
  274. package/src/{browser → common}/core-preferences.ts +16 -17
  275. package/src/common/index.ts +4 -0
  276. package/src/common/inversify-utils.ts +63 -0
  277. package/src/common/json-schema.ts +1 -0
  278. package/src/common/preferences/defaults-preference-provider.ts +91 -0
  279. package/src/common/preferences/index.ts +27 -0
  280. package/src/{browser → common}/preferences/injectable-preference-proxy.ts +3 -3
  281. package/src/{browser → common}/preferences/preference-language-override-service.ts +12 -29
  282. package/src/common/preferences/preference-provider-impl.ts +165 -0
  283. package/src/{browser → common}/preferences/preference-provider.spec.ts +6 -5
  284. package/src/common/preferences/preference-provider.ts +164 -0
  285. package/src/{browser → common}/preferences/preference-proxy.ts +15 -14
  286. package/src/common/preferences/preference-schema-service.ts +434 -0
  287. package/src/common/preferences/preference-schema.ts +156 -64
  288. package/src/common/preferences/preference-scope.ts +5 -13
  289. package/src/{browser → common}/preferences/preference-service.ts +71 -65
  290. package/src/{browser/tree → common}/tree-preference.ts +2 -4
  291. package/src/electron-browser/menu/electron-context-menu-renderer.ts +2 -1
  292. package/src/electron-browser/menu/electron-main-menu-factory.ts +2 -2
  293. package/src/electron-browser/menu/electron-menu-contribution.ts +9 -6
  294. package/src/electron-browser/window/electron-window-module.ts +1 -1
  295. package/src/electron-browser/window/electron-window-service.ts +1 -1
  296. package/src/{electron-browser/window → electron-common}/electron-window-preferences.ts +6 -6
  297. package/src/{browser/preferences/preference-scope.ts → electron-node/window/electron-window-module.ts} +7 -3
  298. package/src/node/backend-application-module.ts +28 -1
  299. package/lib/browser/core-preferences.d.ts.map +0 -1
  300. package/lib/browser/core-preferences.js.map +0 -1
  301. package/lib/browser/preferences/injectable-preference-proxy.d.ts.map +0 -1
  302. package/lib/browser/preferences/injectable-preference-proxy.js.map +0 -1
  303. package/lib/browser/preferences/preference-configurations.d.ts.map +0 -1
  304. package/lib/browser/preferences/preference-configurations.js.map +0 -1
  305. package/lib/browser/preferences/preference-language-override-service.d.ts.map +0 -1
  306. package/lib/browser/preferences/preference-language-override-service.js.map +0 -1
  307. package/lib/browser/preferences/preference-provider.d.ts.map +0 -1
  308. package/lib/browser/preferences/preference-provider.js.map +0 -1
  309. package/lib/browser/preferences/preference-provider.spec.d.ts.map +0 -1
  310. package/lib/browser/preferences/preference-provider.spec.js.map +0 -1
  311. package/lib/browser/preferences/preference-proxy.d.ts.map +0 -1
  312. package/lib/browser/preferences/preference-proxy.js.map +0 -1
  313. package/lib/browser/preferences/preference-scope.d.ts +0 -3
  314. package/lib/browser/preferences/preference-scope.d.ts.map +0 -1
  315. package/lib/browser/preferences/preference-scope.js.map +0 -1
  316. package/lib/browser/preferences/preference-service.d.ts.map +0 -1
  317. package/lib/browser/preferences/preference-service.js.map +0 -1
  318. package/lib/browser/supported-encodings.d.ts.map +0 -1
  319. package/lib/browser/supported-encodings.js.map +0 -1
  320. package/lib/browser/tree/tree-preference.d.ts.map +0 -1
  321. package/lib/browser/tree/tree-preference.js.map +0 -1
  322. package/lib/electron-browser/window/electron-window-preferences.d.ts.map +0 -1
  323. package/lib/electron-browser/window/electron-window-preferences.js.map +0 -1
  324. package/src/browser/preferences/preference-provider.ts +0 -277
  325. /package/lib/{browser → common}/preferences/preference-configurations.d.ts +0 -0
  326. /package/lib/{browser → common}/preferences/preference-configurations.js +0 -0
  327. /package/lib/{browser → common}/preferences/preference-provider.spec.d.ts +0 -0
  328. /package/lib/{browser → common}/supported-encodings.d.ts +0 -0
  329. /package/lib/{browser → common}/supported-encodings.js +0 -0
  330. /package/src/{browser → common}/preferences/preference-configurations.ts +0 -0
  331. /package/src/{browser → common}/supported-encodings.ts +0 -0
@@ -16,89 +16,181 @@
16
16
 
17
17
  /* eslint-disable @typescript-eslint/no-explicit-any */
18
18
 
19
- import { JSONValue } from '@lumino/coreutils';
19
+ import { JSONObject, JSONValue } from '@lumino/coreutils';
20
20
  import { IJSONSchema } from '../json-schema';
21
21
  import { PreferenceScope } from './preference-scope';
22
- import { isObject, isString } from '../types';
22
+ import { Event } from '../event';
23
+ import { Disposable } from '../disposable';
23
24
 
24
- export interface PreferenceSchema {
25
- [name: string]: any,
26
- scope?: 'application' | 'window' | 'resource' | PreferenceScope,
27
- overridable?: boolean;
25
+ export const PreferenceContribution = Symbol('PreferenceContribution');
26
+ /**
27
+ * A {@link PreferenceContribution} allows adding additional custom preferences.
28
+ * For this, the {@link PreferenceContribution} has to provide a valid `PrefernceSchema` specifying which preferences
29
+ * are available including their types and description.
30
+ *
31
+ * ### Example usage
32
+ * ```typescript
33
+ * const MyPreferencesSchema: PreferenceSchema = {
34
+ * 'scope': PreferenceScope.Folder,
35
+ * 'properties': {
36
+ * 'myext.decorations.enabled': {
37
+ * 'type': 'boolean',
38
+ * 'description': 'Show file status',
39
+ * 'default': true
40
+ * },
41
+ * // [...]
42
+ * }
43
+ * }
44
+ * @injectable()
45
+ * export class MyPreferenceContribution implements PreferenceContribution{
46
+ * schema= MyPreferencesSchema;
47
+ * }
48
+ * ```
49
+ */
50
+ export interface PreferenceContribution {
51
+ readonly schema?: PreferenceSchema;
28
52
  /**
29
- * The title of the preference schema.
30
- * It is used in the preference UI to associate a localized group of preferences.
53
+ * Allows to do additional intialisation of the preference schema, for example registering overrides
54
+ * @param service the preference schema service
31
55
  */
32
- title?: string;
33
- properties: PreferenceSchemaProperties
34
- }
35
- export namespace PreferenceSchema {
36
- export function is(obj: unknown): obj is PreferenceSchema {
37
- return isObject<PreferenceSchema>(obj) && PreferenceSchemaProperties.is(obj.properties);
38
- }
39
- export function getDefaultScope(schema: PreferenceSchema): PreferenceScope {
40
- let defaultScope: PreferenceScope = PreferenceScope.Workspace;
41
- if (!PreferenceScope.is(schema.scope)) {
42
- defaultScope = PreferenceScope.fromString(<string>schema.scope) || PreferenceScope.Workspace;
43
- } else {
44
- defaultScope = schema.scope;
45
- }
46
- return defaultScope;
47
- }
56
+ initSchema?(service: PreferenceSchemaService): Promise<void>
48
57
  }
49
58
 
50
- export interface PreferenceSchemaProperties {
51
- [name: string]: PreferenceSchemaProperty
52
- }
53
- export namespace PreferenceSchemaProperties {
54
- export function is(obj: unknown): obj is PreferenceSchemaProperties {
55
- return isObject(obj);
56
- }
59
+ export interface IndexedAccess<T> {
60
+ [name: string]: T;
57
61
  }
58
62
 
59
- export interface PreferenceDataSchema {
60
- [name: string]: any,
63
+ export interface PreferenceSchema {
64
+ /** The default scope for properties in this schema */
61
65
  scope?: PreferenceScope,
62
- properties: {
63
- [name: string]: PreferenceDataProperty
64
- }
65
- patternProperties: {
66
- [name: string]: PreferenceDataProperty
67
- };
66
+ /** Optional title to be used in UI */
67
+ title?: string,
68
+ /** Whether properties in this schema are overridable by default. Defaults to false. */
69
+ defaultOverridable?: boolean;
70
+ properties: IndexedAccess<PreferenceDataProperty>;
68
71
  }
69
72
 
70
- export interface PreferenceItem extends IJSONSchema {
73
+ export interface PreferenceDataProperty extends IJSONSchema {
71
74
  /**
72
- * preference default value, if `undefined` then `default`
75
+ * Whether distinct values can be defined for language override identifers. E.g. values valid when editing typescript files vs.
76
+ * when editing Java files
73
77
  */
74
- defaultValue?: JSONValue;
75
78
  overridable?: boolean;
76
- /** If false, the preference will not be included in the schema or the UI. */
79
+ /** If false, the preference will not be included in the schema or the UI. E.g. OS-Specific prefs */
77
80
  included?: boolean;
78
81
  /** If true, this item will registered as part of the preference schema, but hidden in the preference editor UI. */
79
82
  hidden?: boolean;
80
- [key: string]: any;
81
- }
82
- export interface PreferenceSchemaProperty extends PreferenceItem {
83
- description?: string;
84
- markdownDescription?: string;
85
- scope?: 'application' | 'machine' | 'window' | 'resource' | 'language-overridable' | 'machine-overridable' | PreferenceScope;
86
- tags?: string[];
87
- }
88
-
89
- export interface PreferenceDataProperty extends PreferenceItem {
90
- description?: string;
91
- markdownDescription?: string;
83
+ /** The maximum scope where values for this property can be set. */
92
84
  scope?: PreferenceScope;
85
+ /** Metadata intended for custom renderers */
93
86
  typeDetails?: any;
87
+ /** Tags can be searched for in the UI */
88
+ tags?: string[]
94
89
  }
95
- export namespace PreferenceDataProperty {
96
- export function fromPreferenceSchemaProperty(schemaProps: PreferenceSchemaProperty, defaultScope: PreferenceScope = PreferenceScope.Workspace): PreferenceDataProperty {
97
- if (!schemaProps.scope) {
98
- schemaProps.scope = defaultScope;
99
- } else if (isString(schemaProps.scope)) {
100
- return Object.assign(schemaProps, { scope: PreferenceScope.fromString(schemaProps.scope) || defaultScope });
101
- }
102
- return <PreferenceDataProperty>schemaProps;
103
- }
90
+
91
+ export interface DefaultValueChangedEvent {
92
+ /** The preference key */
93
+ key: string;
94
+ /** The override identifier that the default changed for */
95
+ overrideIdentifier?: string;
96
+ /**
97
+ * When the default for the base property changes, indicates which override identifiers will be affected
98
+ */
99
+ otherAffectedOverrides: string[];
100
+ oldValue: JSONValue | undefined;
101
+ newValue: JSONValue | undefined;
104
102
  }
103
+
104
+ export const PreferenceSchemaService = Symbol('PreferenceSchemaService');
105
+
106
+ export interface PreferenceSchemaService {
107
+ /**
108
+ * Resolves after static contributions have been processed
109
+ */
110
+ readonly ready: Promise<void>;
111
+ /**
112
+ * Register an override identifier for language specific preferences
113
+ * @param overrideIdentifier The identifier to register
114
+ * @returns A disposable to unregister the identifier
115
+ */
116
+ registerOverrideIdentifier(overrideIdentifier: string): Disposable;
117
+ readonly overrideIdentifiers: ReadonlySet<string>;
118
+
119
+ /**
120
+ * Add a preference schema. It is an error to register the same property in two different schemas
121
+ * @param schema The schema to add
122
+ * @returns A disposable to remove the schema
123
+ */
124
+ addSchema(schema: PreferenceSchema): Disposable;
125
+
126
+ /**
127
+ * The scopes which this preference schema service handles. Any properties that are not applicable within the
128
+ * valid scopes will be ignored
129
+ */
130
+ readonly validScopes: readonly PreferenceScope[];
131
+ /**
132
+ * Check if a preference is valid in a specific scope
133
+ * @param preferenceName The preference name
134
+ * @param scope The scope to check
135
+ * @returns True if the preference is valid in the given scope
136
+ */
137
+ isValidInScope(preferenceName: string, scope: PreferenceScope): boolean;
138
+ getSchemaProperty(key: string): PreferenceDataProperty | undefined;
139
+ getSchemaProperties(): ReadonlyMap<string, PreferenceDataProperty>;
140
+
141
+ /**
142
+ * Update a property in the schema. The corresponding JSON Schemas, etc. will be updated
143
+ * @param key The property key
144
+ * @param property The updated property
145
+ */
146
+ updateSchemaProperty(key: string, property: PreferenceDataProperty): void;
147
+
148
+ /**
149
+ * Register an override for a preference default value. If multiple overrides are registered for the same value,
150
+ * the last override will be in effect. Removing the last override will make the second-to-last override active, etc.
151
+ * @param key The preference key
152
+ * @param overrideIdentifier The override identifier, undefined for global default
153
+ * @param value The default value
154
+ * @returns A disposable to unregister the override
155
+ */
156
+ registerOverride(key: string, overrideIdentifier: string | undefined, value: JSONValue): Disposable;
157
+ /**
158
+ * Get the default value for a preference. This is the value a client will see for the given key/override
159
+ * @param key The preference key
160
+ * @param overrideIdentifier The override identifier, undefined for global default
161
+ * @returns The default value or undefined if not found
162
+ */
163
+ getDefaultValue(key: string, overrideIdentifier: string | undefined): JSONValue | undefined;
164
+ /**
165
+ * Gets the default value for a preference. This method not fall back to the global value if no override is given
166
+ * @param key The preference key
167
+ * @param overrideIdentifier The override identifier, undefined for global default
168
+ * @returns The default value or undefined if not found
169
+ */
170
+ inspectDefaultValue(key: string, overrideIdentifier: string | undefined): JSONValue | undefined;
171
+
172
+ /**
173
+ * Gets a JSON schema a preference.json file for the given scope.
174
+ * @param scope The scope to generate schema for
175
+ * @returns The JSON schema
176
+ */
177
+ getJSONSchema(scope: PreferenceScope): IJSONSchema;
178
+ /**
179
+ * Get the collection of all defined default values as JSONObject of the form like in a preferences.json
180
+ *
181
+ * #### Example usage
182
+ * ```json
183
+ * {
184
+ * "my.preference": "a string default",
185
+ * "[typescript]": {
186
+ * "another.preference": 39
187
+ * }
188
+ * }
189
+ */
190
+ getDefaultValues(): JSONObject;
191
+
192
+ // Public events
193
+ onDidChangeDefaultValue: Event<DefaultValueChangedEvent>;
194
+ onDidChangeSchema: Event<void>;
195
+ }
196
+
@@ -14,6 +14,11 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
+ /**
18
+ * An array of preference scopes that are valid in a given context, sorted from more general to more specific
19
+ */
20
+ export const ValidPreferenceScopes = Symbol('ValidPreferenceScopes');
21
+
17
22
  export enum PreferenceScope {
18
23
  Default,
19
24
  User,
@@ -52,17 +57,4 @@ export namespace PreferenceScope {
52
57
  }
53
58
  return names;
54
59
  }
55
-
56
- export function fromString(strScope: string): PreferenceScope | undefined {
57
- switch (strScope) {
58
- case 'application':
59
- return PreferenceScope.User;
60
- case 'window':
61
- return PreferenceScope.Folder;
62
- case 'resource':
63
- return PreferenceScope.Folder;
64
- case 'language-overridable':
65
- return PreferenceScope.Folder;
66
- }
67
- }
68
60
  }
@@ -16,18 +16,16 @@
16
16
 
17
17
  /* eslint-disable @typescript-eslint/no-explicit-any */
18
18
 
19
- import { injectable, inject, postConstruct } from 'inversify';
20
- import { Event, Emitter, DisposableCollection, Disposable, deepFreeze, unreachable } from '../../common';
19
+ import { JSONExt, JSONValue } from '@lumino/coreutils';
20
+ import { inject, injectable, postConstruct } from 'inversify';
21
+ import { Disposable, DisposableCollection, Emitter, Event, deepFreeze, unreachable } from '../../common';
21
22
  import { Deferred } from '../../common/promise-util';
22
- import { PreferenceProvider, PreferenceProviderDataChange, PreferenceProviderDataChanges, PreferenceResolveResult } from './preference-provider';
23
- import { PreferenceSchemaProvider } from './preference-contribution';
24
23
  import URI from '../../common/uri';
24
+ import { OverridePreferenceName, PreferenceLanguageOverrideService } from './preference-language-override-service';
25
+ import { PreferenceProvider, PreferenceProviderDataChange, PreferenceProviderDataChanges, PreferenceResolveResult, PreferenceUtils } from './preference-provider';
26
+ import { PreferenceSchemaService } from './preference-schema';
25
27
  import { PreferenceScope } from './preference-scope';
26
28
  import { PreferenceConfigurations } from './preference-configurations';
27
- import { JSONExt, JSONValue } from '@lumino/coreutils';
28
- import { OverridePreferenceName, PreferenceLanguageOverrideService } from './preference-language-override-service';
29
-
30
- export { PreferenceScope };
31
29
 
32
30
  /**
33
31
  * Representation of a preference change. A preference value can be set to `undefined` for a specific scope.
@@ -50,10 +48,10 @@ export class PreferenceChangeImpl implements PreferenceChange {
50
48
  get preferenceName(): string {
51
49
  return this.change.preferenceName;
52
50
  }
53
- get newValue(): string {
51
+ get newValue(): JSONValue | undefined {
54
52
  return this.change.newValue;
55
53
  }
56
- get oldValue(): string {
54
+ get oldValue(): JSONValue | undefined {
57
55
  return this.change.oldValue;
58
56
  }
59
57
  get scope(): PreferenceScope {
@@ -272,7 +270,7 @@ export type PreferenceInspectionScope = keyof Omit<PreferenceInspection<unknown>
272
270
  * It allows to load them lazily after DI is configured.
273
271
  */
274
272
  export const PreferenceProviderProvider = Symbol('PreferenceProviderProvider');
275
- export type PreferenceProviderProvider = (scope: PreferenceScope, uri?: URI) => PreferenceProvider;
273
+ export type PreferenceProviderProvider = (scope: PreferenceScope, uri?: URI) => PreferenceProvider | undefined;
276
274
 
277
275
  @injectable()
278
276
  export class PreferenceServiceImpl implements PreferenceService {
@@ -285,8 +283,8 @@ export class PreferenceServiceImpl implements PreferenceService {
285
283
 
286
284
  protected readonly toDispose = new DisposableCollection(this.onPreferenceChangedEmitter, this.onPreferencesChangedEmitter);
287
285
 
288
- @inject(PreferenceSchemaProvider)
289
- protected readonly schema: PreferenceSchemaProvider;
286
+ @inject(PreferenceSchemaService)
287
+ protected readonly schemaService: PreferenceSchemaService;
290
288
 
291
289
  @inject(PreferenceProviderProvider)
292
290
  protected readonly providerProvider: PreferenceProviderProvider;
@@ -301,13 +299,17 @@ export class PreferenceServiceImpl implements PreferenceService {
301
299
 
302
300
  protected async initializeProviders(): Promise<void> {
303
301
  try {
304
- for (const scope of PreferenceScope.getScopes()) {
302
+ for (const scope of this.schemaService.validScopes) {
305
303
  const provider = this.providerProvider(scope);
306
- this.preferenceProviders.set(scope, provider);
307
- this.toDispose.push(provider.onDidPreferencesChanged(changes =>
308
- this.reconcilePreferences(changes)
309
- ));
310
- await provider.ready;
304
+ if (provider) {
305
+ this.preferenceProviders.set(scope, provider);
306
+ this.toDispose.push(provider.onDidPreferencesChanged(changes =>
307
+ this.reconcilePreferences(changes)
308
+ ));
309
+ await provider.ready;
310
+ } else {
311
+ console.warn(`No preference provider bound for ${PreferenceScope[scope]}`);
312
+ }
311
313
  }
312
314
  this._ready.resolve();
313
315
  this._isReady = true;
@@ -338,50 +340,44 @@ export class PreferenceServiceImpl implements PreferenceService {
338
340
 
339
341
  protected reconcilePreferences(changes: PreferenceProviderDataChanges): void {
340
342
  const changesToEmit: PreferenceChanges = {};
341
- const acceptChange = (change: PreferenceProviderDataChange) =>
343
+ const acceptChange = (change: PreferenceProviderDataChange) => {
342
344
  this.getAffectedPreferenceNames(change, preferenceName =>
343
- changesToEmit[preferenceName] = new PreferenceChangeImpl({ ...change, preferenceName })
344
- );
345
+ changesToEmit[preferenceName] = new PreferenceChangeImpl({ ...change, preferenceName }));
346
+ };
345
347
 
346
348
  for (const preferenceName of Object.keys(changes)) {
349
+
347
350
  let change = changes[preferenceName];
351
+ const overridden = this.overriddenPreferenceName(change.preferenceName);
348
352
  if (change.newValue === undefined) {
349
- const overridden = this.overriddenPreferenceName(change.preferenceName);
350
353
  if (overridden) {
351
354
  change = {
352
355
  ...change, newValue: this.doGet(overridden.preferenceName)
353
356
  };
354
357
  }
355
358
  }
356
- if (this.schema.isValidInScope(preferenceName, PreferenceScope.Folder)) {
357
- acceptChange(change);
358
- continue;
359
- }
360
- for (const scope of PreferenceScope.getReversedScopes()) {
361
- if (this.schema.isValidInScope(preferenceName, scope)) {
362
- const provider = this.getProvider(scope);
363
- if (provider) {
364
- const value = provider.get(preferenceName);
365
- if (scope > change.scope && value !== undefined) {
366
- // preference defined in a more specific scope
367
- break;
368
- } else if (scope === change.scope && change.newValue !== undefined) {
369
- // preference is changed into something other than `undefined`
370
- acceptChange(change);
371
- } else if (scope < change.scope && change.newValue === undefined && value !== undefined) {
372
- // preference is changed to `undefined`, use the value from a more general scope
373
- change = {
374
- ...change,
375
- newValue: value,
376
- scope
377
- };
378
- acceptChange(change);
379
- }
359
+
360
+ for (const scope of [...this.schemaService.validScopes].reverse()) {
361
+ const provider = this.getProvider(scope);
362
+ if (provider) {
363
+ const value: JSONValue | undefined = provider.get(preferenceName);
364
+ if (scope > change.scope && value !== undefined) {
365
+ // preference defined in a more specific scope
366
+ break;
367
+ } else if (scope === change.scope && (change.newValue !== undefined || scope === PreferenceScope.Default)) {
368
+ // preference is changed into something other than `undefined`
369
+ acceptChange(change);
370
+ break;
371
+ } else if (scope < change.scope && change.newValue === undefined && value !== undefined) {
372
+ // preference is changed to `undefined`, use the value from a more general scope
373
+ change = {
374
+ ...change,
375
+ newValue: value,
376
+ scope
377
+ };
378
+ acceptChange(change);
379
+ break;
380
380
  }
381
- } else if (change.newValue === undefined && change.scope === PreferenceScope.Default) {
382
- // preference is removed
383
- acceptChange(change);
384
- break;
385
381
  }
386
382
  }
387
383
  }
@@ -394,10 +390,22 @@ export class PreferenceServiceImpl implements PreferenceService {
394
390
  changedPreferenceNames.forEach(preferenceName => this.onPreferenceChangedEmitter.fire(changesToEmit[preferenceName]));
395
391
  }
396
392
  protected getAffectedPreferenceNames(change: PreferenceProviderDataChange, accept: (affectedPreferenceName: string) => void): void {
393
+ const overridden = this.preferenceOverrideService.overriddenPreferenceName(change.preferenceName);
397
394
  accept(change.preferenceName);
398
- for (const overridePreferenceName of this.schema.getOverridePreferenceNames(change.preferenceName)) {
399
- if (!this.doHas(overridePreferenceName)) {
400
- accept(overridePreferenceName);
395
+ if (!overridden?.overrideIdentifier) { // changes to overrides never affect other overrides
396
+ const preference = this.schemaService.getSchemaProperty(change.preferenceName);
397
+ if (preference && preference.overridable) {
398
+
399
+ for (const overrideId of this.schemaService.overrideIdentifiers) {
400
+ const overridePreferenceName = this.preferenceOverrideService.overridePreferenceName({
401
+ overrideIdentifier: overrideId,
402
+ preferenceName: change.preferenceName
403
+ });
404
+
405
+ if (!this.doHas(overridePreferenceName)) {
406
+ accept(overridePreferenceName);
407
+ }
408
+ }
401
409
  }
402
410
  }
403
411
  }
@@ -530,7 +538,7 @@ export class PreferenceServiceImpl implements PreferenceService {
530
538
  }
531
539
 
532
540
  // Scopes in ascending order of scope breadth.
533
- const allScopes = PreferenceScope.getReversedScopes();
541
+ const allScopes = [...this.schemaService.validScopes].reverse();
534
542
  // Get rid of Default scope. We can't set anything there.
535
543
  allScopes.pop();
536
544
 
@@ -562,15 +570,13 @@ export class PreferenceServiceImpl implements PreferenceService {
562
570
  }
563
571
  protected doResolve<T>(preferenceName: string, defaultValue?: T, resourceUri?: string): PreferenceResolveResult<T> {
564
572
  const result: PreferenceResolveResult<T> = {};
565
- for (const scope of PreferenceScope.getScopes()) {
566
- if (this.schema.isValidInScope(preferenceName, scope)) {
567
- const provider = this.getProvider(scope);
568
- if (provider?.canHandleScope(scope)) {
569
- const { configUri, value } = provider.resolve<T>(preferenceName, resourceUri);
570
- if (value !== undefined) {
571
- result.configUri = configUri;
572
- result.value = PreferenceProvider.merge(result.value as any, value as any) as any;
573
- }
573
+ for (const scope of this.schemaService.validScopes) {
574
+ const provider = this.getProvider(scope);
575
+ if (provider?.canHandleScope(scope)) {
576
+ const { configUri, value } = provider.resolve<T>(preferenceName, resourceUri);
577
+ if (value !== undefined) {
578
+ result.configUri = configUri;
579
+ result.value = PreferenceUtils.merge(result.value as any, value as any) as any;
574
580
  }
575
581
  }
576
582
  }
@@ -585,7 +591,7 @@ export class PreferenceServiceImpl implements PreferenceService {
585
591
  if (!provider || !this.configurations.isAnyConfig(sectionName)) {
586
592
  return undefined;
587
593
  }
588
- const configUri = provider.getConfigUri(resourceUri, sectionName);
594
+ const configUri = provider.getConfigUri && provider.getConfigUri(resourceUri, sectionName);
589
595
  if (configUri) {
590
596
  return configUri;
591
597
  }
@@ -15,14 +15,12 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { interfaces } from 'inversify';
18
- import { PreferenceProxy, PreferenceContribution, PreferenceSchema } from '../preferences';
19
- import { PreferenceProxyFactory } from '../preferences/injectable-preference-proxy';
20
- import { nls } from '../../common/nls';
18
+ import { nls } from './nls';
19
+ import { PreferenceSchema, PreferenceProxy, PreferenceProxyFactory, PreferenceContribution } from './preferences';
21
20
 
22
21
  export const PREFERENCE_NAME_TREE_INDENT = 'workbench.tree.indent';
23
22
 
24
23
  export const treePreferencesSchema: PreferenceSchema = {
25
- type: 'object',
26
24
  properties: {
27
25
  [PREFERENCE_NAME_TREE_INDENT]: {
28
26
  description: nls.localizeByDefault('Controls tree indentation in pixels.'),
@@ -18,7 +18,7 @@
18
18
 
19
19
  import { inject, injectable, postConstruct } from 'inversify';
20
20
  import {
21
- ContextMenuRenderer, ContextMenuAccess, FrontendApplicationContribution, CommonCommands, coordinateFromAnchor, PreferenceService,
21
+ ContextMenuRenderer, ContextMenuAccess, FrontendApplicationContribution, CommonCommands, coordinateFromAnchor,
22
22
  Anchor
23
23
  } from '../../browser';
24
24
  import { ElectronMainMenuFactory } from './electron-main-menu-factory';
@@ -26,6 +26,7 @@ import { ContextMenuContext } from '../../browser/menu/context-menu-context';
26
26
  import { BrowserContextMenuAccess, BrowserContextMenuRenderer } from '../../browser/menu/browser-context-menu-renderer';
27
27
  import { MenuPath, MenuContribution, MenuModelRegistry, CompoundMenuNode } from '../../common/menu';
28
28
  import { ContextKeyService, ContextMatcher } from '../../browser/context-key-service';
29
+ import { PreferenceService } from '../../common/preferences';
29
30
 
30
31
  export class ElectronContextMenuAccess extends ContextMenuAccess {
31
32
  constructor(readonly menuHandle: Promise<number>) {
@@ -17,8 +17,8 @@
17
17
  /* eslint-disable @typescript-eslint/no-explicit-any */
18
18
 
19
19
  import { inject, injectable, postConstruct } from 'inversify';
20
- import { isOSX, MAIN_MENU_BAR, MenuNode, CompoundMenuNode, Group, RenderedMenuNode, CommandMenu, AcceleratorSource, MenuPath } from '../../common';
21
- import { PreferenceService, CommonCommands } from '../../browser';
20
+ import { isOSX, MAIN_MENU_BAR, MenuNode, CompoundMenuNode, Group, RenderedMenuNode, CommandMenu, AcceleratorSource, MenuPath, PreferenceService } from '../../common';
21
+ import { CommonCommands } from '../../browser';
22
22
  import debounce = require('lodash.debounce');
23
23
  import { BrowserMainMenuFactory } from '../../browser/menu/browser-menu-plugin';
24
24
  import { ContextMatcher } from '../../browser/context-key-service';
@@ -15,15 +15,18 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { inject, injectable, postConstruct } from 'inversify';
18
- import { Command, CommandContribution, CommandRegistry, isOSX, isWindows, MenuModelRegistry, MenuContribution, Disposable, nls } from '../../common';
19
18
  import {
20
- codicon, ConfirmDialog, KeybindingContribution, KeybindingRegistry, PreferenceScope, Widget,
21
- FrontendApplication, FrontendApplicationContribution, CommonMenus, CommonCommands, Dialog, Message, ApplicationShell, PreferenceService, animationFrame,
19
+ Command, CommandContribution, CommandRegistry, isOSX, isWindows, MenuModelRegistry,
20
+ MenuContribution, Disposable, nls, PreferenceScope, PreferenceService
21
+ } from '../../common';
22
+ import {
23
+ codicon, ConfirmDialog, KeybindingContribution, KeybindingRegistry, Widget,
24
+ FrontendApplication, FrontendApplicationContribution, CommonMenus, CommonCommands, Dialog, Message, ApplicationShell, animationFrame,
22
25
  } from '../../browser';
23
26
  import { ElectronMainMenuFactory } from './electron-main-menu-factory';
24
27
  import { FrontendApplicationStateService, FrontendApplicationState } from '../../browser/frontend-application-state';
25
28
  import { FrontendApplicationConfigProvider } from '../../browser/frontend-application-config-provider';
26
- import { ZoomLevel } from '../window/electron-window-preferences';
29
+ import { ZoomLevel } from '../../electron-common/electron-window-preferences';
27
30
  import { BrowserMenuBarContribution } from '../../browser/menu/browser-menu-plugin';
28
31
  import { WindowService } from '../../browser/window/window-service';
29
32
  import { WindowTitleService } from '../../browser/window/window-title-service';
@@ -142,7 +145,7 @@ export class ElectronMenuContribution extends BrowserMenuBarContribution impleme
142
145
  protected attachMenuBarVisibilityListener(): void {
143
146
  this.preferenceService.onPreferenceChanged(e => {
144
147
  if (e.preferenceName === 'window.menuBarVisibility') {
145
- this.handleFullScreen(e.newValue);
148
+ this.handleFullScreen(e.newValue as string);
146
149
  }
147
150
  });
148
151
  }
@@ -164,7 +167,7 @@ export class ElectronMenuContribution extends BrowserMenuBarContribution impleme
164
167
  this.preferenceService.onPreferenceChanged(change => {
165
168
  if (change.preferenceName === 'window.titleBarStyle') {
166
169
  if (this.titleBarStyleChangeFlag && this.titleBarStyle !== change.newValue) {
167
- window.electronTheiaCore.setTitleBarStyle(change.newValue);
170
+ window.electronTheiaCore.setTitleBarStyle(change.newValue as string);
168
171
  this.handleRequiredRestart();
169
172
  }
170
173
  this.titleBarStyleChangeFlag = true;
@@ -26,7 +26,7 @@ import { ElectronClipboardService } from '../electron-clipboard-service';
26
26
  import { ElectronIpcConnectionProvider } from '../messaging/electron-ipc-connection-source';
27
27
  import { ElectronFrontendApplicationStateService } from './electron-frontend-application-state';
28
28
  import { ElectronSecondaryWindowService } from './electron-secondary-window-service';
29
- import { bindWindowPreferences } from './electron-window-preferences';
29
+ import { bindWindowPreferences } from '../../electron-common/electron-window-preferences';
30
30
  import { ElectronWindowService } from './electron-window-service';
31
31
  import { ExternalAppOpenHandler } from './external-app-open-handler';
32
32
  import { ElectronUriHandlerContribution } from '../electron-uri-handler';
@@ -18,7 +18,7 @@ import { injectable, inject, postConstruct } from 'inversify';
18
18
  import { NewWindowOptions, WindowSearchParams } from '../../common/window';
19
19
  import { DefaultWindowService } from '../../browser/window/default-window-service';
20
20
  import { ElectronMainWindowService } from '../../electron-common/electron-main-window-service';
21
- import { ElectronWindowPreferences } from './electron-window-preferences';
21
+ import { ElectronWindowPreferences } from '../../electron-common/electron-window-preferences';
22
22
  import { ConnectionCloseService } from '../../common/messaging/connection-management';
23
23
  import { FrontendIdProvider } from '../../browser/messaging/frontend-id-provider';
24
24
  import { WindowReloadOptions } from '../../browser/window/window-service';