@theia/core 1.74.0-next.8 → 1.74.0

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 (209) hide show
  1. package/README.md +10 -10
  2. package/i18n/nls.cs.json +143 -16
  3. package/i18n/nls.de.json +143 -16
  4. package/i18n/nls.es.json +143 -16
  5. package/i18n/nls.fr.json +143 -16
  6. package/i18n/nls.hu.json +143 -16
  7. package/i18n/nls.it.json +143 -16
  8. package/i18n/nls.ja.json +143 -16
  9. package/i18n/nls.json +143 -16
  10. package/i18n/nls.ko.json +143 -16
  11. package/i18n/nls.pl.json +143 -16
  12. package/i18n/nls.pt-br.json +143 -16
  13. package/i18n/nls.ru.json +143 -16
  14. package/i18n/nls.tr.json +143 -16
  15. package/i18n/nls.zh-cn.json +143 -16
  16. package/i18n/nls.zh-tw.json +143 -16
  17. package/lib/browser/browser-clipboard-service.d.ts +3 -0
  18. package/lib/browser/browser-clipboard-service.d.ts.map +1 -1
  19. package/lib/browser/browser-clipboard-service.js +8 -1
  20. package/lib/browser/browser-clipboard-service.js.map +1 -1
  21. package/lib/browser/catalog.json +419 -41
  22. package/lib/browser/clipboard-service.d.ts +11 -0
  23. package/lib/browser/clipboard-service.d.ts.map +1 -1
  24. package/lib/browser/clipboard-service.js.map +1 -1
  25. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  26. package/lib/browser/common-frontend-contribution.js +7 -7
  27. package/lib/browser/common-frontend-contribution.js.map +1 -1
  28. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  29. package/lib/browser/frontend-application-module.js +9 -0
  30. package/lib/browser/frontend-application-module.js.map +1 -1
  31. package/lib/browser/frontend-application.d.ts.map +1 -1
  32. package/lib/browser/frontend-application.js +12 -2
  33. package/lib/browser/frontend-application.js.map +1 -1
  34. package/lib/browser/index.d.ts +1 -0
  35. package/lib/browser/index.d.ts.map +1 -1
  36. package/lib/browser/index.js +1 -0
  37. package/lib/browser/index.js.map +1 -1
  38. package/lib/browser/keybinding.d.ts.map +1 -1
  39. package/lib/browser/keybinding.js +12 -7
  40. package/lib/browser/keybinding.js.map +1 -1
  41. package/lib/browser/perspective-service.d.ts +173 -0
  42. package/lib/browser/perspective-service.d.ts.map +1 -0
  43. package/lib/browser/perspective-service.js +484 -0
  44. package/lib/browser/perspective-service.js.map +1 -0
  45. package/lib/browser/perspective-service.spec.d.ts +2 -0
  46. package/lib/browser/perspective-service.spec.d.ts.map +1 -0
  47. package/lib/browser/perspective-service.spec.js +1806 -0
  48. package/lib/browser/perspective-service.spec.js.map +1 -0
  49. package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
  50. package/lib/browser/preferences/preference-contribution.js +9 -1
  51. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  52. package/lib/browser/preferences/preference-service.spec.js +63 -0
  53. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  54. package/lib/browser/shell/application-shell.d.ts +7 -0
  55. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  56. package/lib/browser/shell/application-shell.js +38 -28
  57. package/lib/browser/shell/application-shell.js.map +1 -1
  58. package/lib/browser/shell/shell-layout-restorer.d.ts +9 -0
  59. package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
  60. package/lib/browser/shell/shell-layout-restorer.js +124 -14
  61. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  62. package/lib/browser/shell/shell-layout-restorer.spec.d.ts +2 -0
  63. package/lib/browser/shell/shell-layout-restorer.spec.d.ts.map +1 -0
  64. package/lib/browser/shell/shell-layout-restorer.spec.js +539 -0
  65. package/lib/browser/shell/shell-layout-restorer.spec.js.map +1 -0
  66. package/lib/browser/shell/view-contribution.d.ts +2 -0
  67. package/lib/browser/shell/view-contribution.d.ts.map +1 -1
  68. package/lib/browser/shell/view-contribution.js +5 -1
  69. package/lib/browser/shell/view-contribution.js.map +1 -1
  70. package/lib/browser/status-bar/status-bar.d.ts +2 -0
  71. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  72. package/lib/browser/status-bar/status-bar.js +11 -3
  73. package/lib/browser/status-bar/status-bar.js.map +1 -1
  74. package/lib/browser/tree/tree-widget.d.ts +7 -33
  75. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  76. package/lib/browser/tree/tree-widget.js +7 -54
  77. package/lib/browser/tree/tree-widget.js.map +1 -1
  78. package/lib/browser/widgets/index.d.ts +1 -0
  79. package/lib/browser/widgets/index.d.ts.map +1 -1
  80. package/lib/browser/widgets/index.js +1 -0
  81. package/lib/browser/widgets/index.js.map +1 -1
  82. package/lib/browser/widgets/select-component.d.ts +2 -2
  83. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  84. package/lib/browser/widgets/select-component.js +42 -12
  85. package/lib/browser/widgets/select-component.js.map +1 -1
  86. package/lib/browser/widgets/tab-bar-tracker.d.ts +23 -0
  87. package/lib/browser/widgets/tab-bar-tracker.d.ts.map +1 -0
  88. package/lib/browser/widgets/tab-bar-tracker.js +65 -0
  89. package/lib/browser/widgets/tab-bar-tracker.js.map +1 -0
  90. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts +2 -0
  91. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts.map +1 -0
  92. package/lib/browser/widgets/tab-bar-tracker.spec.js +109 -0
  93. package/lib/browser/widgets/tab-bar-tracker.spec.js.map +1 -0
  94. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -2
  95. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
  96. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +31 -3
  97. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  98. package/lib/common/preferences/index.d.ts +1 -0
  99. package/lib/common/preferences/index.d.ts.map +1 -1
  100. package/lib/common/preferences/index.js +1 -0
  101. package/lib/common/preferences/index.js.map +1 -1
  102. package/lib/common/preferences/preference-provider.d.ts +15 -0
  103. package/lib/common/preferences/preference-provider.d.ts.map +1 -1
  104. package/lib/common/preferences/preference-provider.js +21 -1
  105. package/lib/common/preferences/preference-provider.js.map +1 -1
  106. package/lib/common/preferences/preference-provider.spec.js +17 -0
  107. package/lib/common/preferences/preference-provider.spec.js.map +1 -1
  108. package/lib/common/preferences/preference-scope.d.ts +6 -1
  109. package/lib/common/preferences/preference-scope.d.ts.map +1 -1
  110. package/lib/common/preferences/preference-scope.js +5 -0
  111. package/lib/common/preferences/preference-scope.js.map +1 -1
  112. package/lib/common/preferences/preference-scope.spec.js +5 -3
  113. package/lib/common/preferences/preference-scope.spec.js.map +1 -1
  114. package/lib/common/preferences/preference-service.d.ts +19 -0
  115. package/lib/common/preferences/preference-service.d.ts.map +1 -1
  116. package/lib/common/preferences/preference-service.js +34 -5
  117. package/lib/common/preferences/preference-service.js.map +1 -1
  118. package/lib/common/preferences/session-preference-provider.d.ts +17 -0
  119. package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
  120. package/lib/common/preferences/session-preference-provider.js +77 -0
  121. package/lib/common/preferences/session-preference-provider.js.map +1 -0
  122. package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
  123. package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
  124. package/lib/common/preferences/session-preference-provider.spec.js +71 -0
  125. package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
  126. package/lib/electron-browser/electron-clipboard-service.d.ts +3 -0
  127. package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
  128. package/lib/electron-browser/electron-clipboard-service.js +6 -0
  129. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  130. package/lib/electron-browser/preload.d.ts.map +1 -1
  131. package/lib/electron-browser/preload.js +2 -1
  132. package/lib/electron-browser/preload.js.map +1 -1
  133. package/lib/electron-common/electron-api.d.ts +2 -0
  134. package/lib/electron-common/electron-api.d.ts.map +1 -1
  135. package/lib/electron-common/electron-api.js +2 -1
  136. package/lib/electron-common/electron-api.js.map +1 -1
  137. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  138. package/lib/electron-main/electron-api-main.js +43 -0
  139. package/lib/electron-main/electron-api-main.js.map +1 -1
  140. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  141. package/lib/electron-main/electron-main-application.js +3 -0
  142. package/lib/electron-main/electron-main-application.js.map +1 -1
  143. package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts.map +1 -1
  144. package/lib/electron-node/hosting/electron-backend-hosting-module.js +7 -0
  145. package/lib/electron-node/hosting/electron-backend-hosting-module.js.map +1 -1
  146. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts +2 -0
  147. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts.map +1 -0
  148. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js +39 -0
  149. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js.map +1 -0
  150. package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
  151. package/lib/node/hosting/backend-hosting-module.js +4 -1
  152. package/lib/node/hosting/backend-hosting-module.js.map +1 -1
  153. package/lib/node/hosting/browser-connection-token.d.ts +29 -1
  154. package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
  155. package/lib/node/hosting/browser-connection-token.js +25 -1
  156. package/lib/node/hosting/browser-connection-token.js.map +1 -1
  157. package/lib/node/hosting/browser-connection-token.spec.js +70 -0
  158. package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
  159. package/lib/node/index.d.ts +1 -0
  160. package/lib/node/index.d.ts.map +1 -1
  161. package/lib/node/index.js +3 -1
  162. package/lib/node/index.js.map +1 -1
  163. package/package.json +11 -11
  164. package/src/browser/browser-clipboard-service.ts +7 -1
  165. package/src/browser/clipboard-service.ts +11 -0
  166. package/src/browser/common-frontend-contribution.ts +7 -7
  167. package/src/browser/frontend-application-module.ts +11 -1
  168. package/src/browser/frontend-application.ts +12 -4
  169. package/src/browser/index.ts +1 -0
  170. package/src/browser/keybinding.ts +12 -7
  171. package/src/browser/perspective-service.spec.ts +2270 -0
  172. package/src/browser/perspective-service.ts +625 -0
  173. package/src/browser/preferences/preference-contribution.ts +9 -1
  174. package/src/browser/preferences/preference-service.spec.ts +72 -0
  175. package/src/browser/shell/application-shell.ts +41 -26
  176. package/src/browser/shell/shell-layout-restorer.spec.ts +746 -0
  177. package/src/browser/shell/shell-layout-restorer.ts +134 -13
  178. package/src/browser/shell/view-contribution.ts +6 -1
  179. package/src/browser/status-bar/status-bar.tsx +13 -3
  180. package/src/browser/style/select-component.css +16 -0
  181. package/src/browser/style/sidepanel.css +5 -0
  182. package/src/browser/style/status-bar.css +1 -1
  183. package/src/browser/tree/tree-widget.tsx +12 -78
  184. package/src/browser/widgets/index.ts +1 -0
  185. package/src/browser/widgets/select-component.tsx +41 -12
  186. package/src/browser/widgets/tab-bar-tracker.spec.ts +121 -0
  187. package/src/browser/widgets/tab-bar-tracker.ts +68 -0
  188. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +32 -3
  189. package/src/common/i18n/nls.metadata.json +4149 -888
  190. package/src/common/preferences/index.ts +1 -0
  191. package/src/common/preferences/preference-provider.spec.ts +17 -0
  192. package/src/common/preferences/preference-provider.ts +22 -1
  193. package/src/common/preferences/preference-scope.spec.ts +5 -3
  194. package/src/common/preferences/preference-scope.ts +6 -1
  195. package/src/common/preferences/preference-service.ts +39 -5
  196. package/src/common/preferences/session-preference-provider.spec.ts +78 -0
  197. package/src/common/preferences/session-preference-provider.ts +69 -0
  198. package/src/electron-browser/electron-clipboard-service.ts +5 -0
  199. package/src/electron-browser/menu/electron-menu-style.css +3 -1
  200. package/src/electron-browser/preload.ts +5 -2
  201. package/src/electron-common/electron-api.ts +4 -0
  202. package/src/electron-main/electron-api-main.ts +56 -3
  203. package/src/electron-main/electron-main-application.ts +3 -0
  204. package/src/electron-node/hosting/electron-backend-hosting-module.spec.ts +42 -0
  205. package/src/electron-node/hosting/electron-backend-hosting-module.ts +8 -0
  206. package/src/node/hosting/backend-hosting-module.ts +5 -2
  207. package/src/node/hosting/browser-connection-token.spec.ts +92 -0
  208. package/src/node/hosting/browser-connection-token.ts +45 -1
  209. package/src/node/index.ts +1 -0
@@ -30,6 +30,22 @@ var PreferenceProviderDataChange;
30
30
  exports.PreferenceProvider = Symbol('PreferenceProvider');
31
31
  var PreferenceUtils;
32
32
  (function (PreferenceUtils) {
33
+ const RESERVED_MERGE_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
34
+ /**
35
+ * Recursively merges the values of `target` into `source` and returns the merged result.
36
+ *
37
+ * Note the direction: `source` is the accumulator that is mutated and returned, while the
38
+ * values of `target` take precedence for conflicting primitive values. Nested objects are
39
+ * merged recursively and arrays are concatenated (`source` entries first, then `target`).
40
+ * If `source` is not a JSON object, a deep copy of `target` is returned instead.
41
+ *
42
+ * Only own properties are considered and reserved keys are ignored, so merged results are
43
+ * always plain data objects.
44
+ *
45
+ * @param source the accumulator to merge into; mutated and returned unless it is not an object
46
+ * @param target the values that are merged into `source` and take precedence on conflicts
47
+ * @returns the merged result (the mutated `source`, or a deep copy of `target`)
48
+ */
33
49
  function merge(source, target) {
34
50
  if (source === undefined || !coreutils_1.JSONExt.isObject(source)) {
35
51
  return coreutils_1.JSONExt.deepCopy(target);
@@ -38,7 +54,11 @@ var PreferenceUtils;
38
54
  return {};
39
55
  }
40
56
  for (const [key, value] of Object.entries(target)) {
41
- if (key in source) {
57
+ if (RESERVED_MERGE_KEYS.has(key)) {
58
+ // Skip reserved object keys so merged results stay plain data objects.
59
+ continue;
60
+ }
61
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
42
62
  const sourceValue = source[key];
43
63
  if (coreutils_1.JSONExt.isObject(sourceValue) && coreutils_1.JSONExt.isObject(value)) {
44
64
  merge(sourceValue, value);
@@ -1 +1 @@
1
- {"version":3,"file":"preference-provider.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-provider.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.ts"],"names":[],"mappings":"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"}
@@ -30,5 +30,22 @@ describe('PreferenceProviderImpl', () => {
30
30
  const result = preference_provider_1.PreferenceUtils.merge({ 'configurations': [{ 'name': 'test1', 'request': 'launch' }], 'compounds': [] }, { 'configurations': [{ 'name': 'test2' }] });
31
31
  expect(result).deep.equals({ 'configurations': [{ 'name': 'test1', 'request': 'launch' }, { 'name': 'test2' }], 'compounds': [] });
32
32
  });
33
+ it('should ignore reserved keys when merging', () => {
34
+ const payload = JSON.parse('{"__proto__":{"injected":"yes"}}');
35
+ const result = preference_provider_1.PreferenceUtils.merge({ 'safe': true }, payload);
36
+ // A modified Object.prototype leaks onto every object, so a freshly created `{}`
37
+ // must not inherit the injected key and the result must stay a plain object.
38
+ expect({}.injected).to.equal(undefined);
39
+ expect(Object.getPrototypeOf(result)).to.equal(Object.prototype);
40
+ expect(result).deep.equals({ 'safe': true });
41
+ });
42
+ it('should ignore nested reserved keys when merging', () => {
43
+ const payload = JSON.parse('{"parent":{"__proto__":{"injected":"yes"},"valid":"true"}}');
44
+ const result = preference_provider_1.PreferenceUtils.merge({ 'parent': { 'existing': true } }, payload);
45
+ // The nested reserved key is dropped while the sibling `valid` is still merged, and a
46
+ // freshly created `{}` must not inherit the injected key.
47
+ expect({}.injected).to.equal(undefined);
48
+ expect(result).deep.equals({ 'parent': { 'existing': true, 'valid': 'true' } });
49
+ });
33
50
  });
34
51
  //# sourceMappingURL=preference-provider.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preference-provider.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+DAAwD;AAExD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,qCAAe,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1G,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,qCAAe,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1G,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,qCAAe,CAAC,KAAK,CAChC,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,EACjF,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAC9C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"preference-provider.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-provider.spec.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,12 @@ export declare enum PreferenceScope {
6
6
  Default = 0,
7
7
  User = 1,
8
8
  Workspace = 2,
9
- Folder = 3
9
+ Folder = 3,
10
+ /**
11
+ * Process-lifetime, in-memory scope used by `--session-preference` CLI overrides.
12
+ * Has the highest precedence and is never persisted to disk.
13
+ */
14
+ Session = 4
10
15
  }
11
16
  export declare namespace PreferenceScope {
12
17
  function is(scope: unknown): scope is PreferenceScope;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-scope.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,oBAAY,eAAe;IACvB,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;CACT;AAED,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE3D;IAED;;OAEG;IACH,SAAgB,SAAS,IAAI,eAAe,EAAE,CAE7C;IAED;;OAEG;IACH,SAAgB,iBAAiB,IAAI,eAAe,EAAE,CAErD;IAED,SAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAW/D;CACJ"}
1
+ {"version":3,"file":"preference-scope.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,oBAAY,eAAe;IACvB,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,MAAM,IAAA;IACN;;;OAGG;IACH,OAAO,IAAA;CACV;AAED,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE3D;IAED;;OAEG;IACH,SAAgB,SAAS,IAAI,eAAe,EAAE,CAE7C;IAED;;OAEG;IACH,SAAgB,iBAAiB,IAAI,eAAe,EAAE,CAErD;IAED,SAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAW/D;CACJ"}
@@ -26,6 +26,11 @@ var PreferenceScope;
26
26
  PreferenceScope[PreferenceScope["User"] = 1] = "User";
27
27
  PreferenceScope[PreferenceScope["Workspace"] = 2] = "Workspace";
28
28
  PreferenceScope[PreferenceScope["Folder"] = 3] = "Folder";
29
+ /**
30
+ * Process-lifetime, in-memory scope used by `--session-preference` CLI overrides.
31
+ * Has the highest precedence and is never persisted to disk.
32
+ */
33
+ PreferenceScope[PreferenceScope["Session"] = 4] = "Session";
29
34
  })(PreferenceScope || (exports.PreferenceScope = PreferenceScope = {}));
30
35
  (function (PreferenceScope) {
31
36
  function is(scope) {
@@ -1 +1 @@
1
- {"version":3,"file":"preference-scope.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF;;GAEG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,2DAAO,CAAA;IACP,qDAAI,CAAA;IACJ,+DAAS,CAAA;IACT,yDAAM,CAAA;AACV,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAED,WAAiB,eAAe;IAC5B,SAAgB,EAAE,CAAC,KAAc;QAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAFe,kBAAE,KAEjB,CAAA;IAED;;OAEG;IACH,SAAgB,SAAS;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAsB,CAAC;IAClH,CAAC;IAFe,yBAAS,YAExB,CAAA;IAED;;OAEG;IACH,SAAgB,iBAAiB;QAC7B,OAAO,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAFe,iCAAiB,oBAEhC,CAAA;IAED,SAAgB,aAAa,CAAC,KAAuB;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAXe,6BAAa,gBAW5B,CAAA;AACL,CAAC,EA/BgB,eAAe,+BAAf,eAAe,QA+B/B"}
1
+ {"version":3,"file":"preference-scope.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF;;GAEG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE,IAAY,eAUX;AAVD,WAAY,eAAe;IACvB,2DAAO,CAAA;IACP,qDAAI,CAAA;IACJ,+DAAS,CAAA;IACT,yDAAM,CAAA;IACN;;;OAGG;IACH,2DAAO,CAAA;AACX,CAAC,EAVW,eAAe,+BAAf,eAAe,QAU1B;AAED,WAAiB,eAAe;IAC5B,SAAgB,EAAE,CAAC,KAAc;QAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAFe,kBAAE,KAEjB,CAAA;IAED;;OAEG;IACH,SAAgB,SAAS;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAsB,CAAC;IAClH,CAAC;IAFe,yBAAS,YAExB,CAAA;IAED;;OAEG;IACH,SAAgB,iBAAiB;QAC7B,OAAO,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAFe,iCAAiB,oBAEhC,CAAA;IAED,SAAgB,aAAa,CAAC,KAAuB;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAXe,6BAAa,gBAW5B,CAAA;AACL,CAAC,EA/BgB,eAAe,+BAAf,eAAe,QA+B/B"}
@@ -19,10 +19,10 @@ const chai_1 = require("chai");
19
19
  const preference_scope_1 = require("./preference-scope");
20
20
  describe('PreferenceScope', () => {
21
21
  it('getScopes() should return numbers from broadest to narrowest', () => {
22
- (0, chai_1.expect)(preference_scope_1.PreferenceScope.getScopes()).deep.equal([0, 1, 2, 3]);
22
+ (0, chai_1.expect)(preference_scope_1.PreferenceScope.getScopes()).deep.equal([0, 1, 2, 3, 4]);
23
23
  });
24
24
  it('getReversedScopes() should return numbers from narrowest to broadest', () => {
25
- (0, chai_1.expect)(preference_scope_1.PreferenceScope.getReversedScopes()).deep.equal([3, 2, 1, 0]);
25
+ (0, chai_1.expect)(preference_scope_1.PreferenceScope.getReversedScopes()).deep.equal([4, 3, 2, 1, 0]);
26
26
  });
27
27
  it('getScopeNames() should return the names of scopes broader than the current one', () => {
28
28
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.getScopeNames(preference_scope_1.PreferenceScope.Workspace)).deep.equal(['Default', 'User', 'Workspace']);
@@ -32,11 +32,13 @@ describe('PreferenceScope', () => {
32
32
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(preference_scope_1.PreferenceScope.User)).to.be.true;
33
33
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(preference_scope_1.PreferenceScope.Workspace)).to.be.true;
34
34
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(preference_scope_1.PreferenceScope.Folder)).to.be.true;
35
+ (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(preference_scope_1.PreferenceScope.Session)).to.be.true;
35
36
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(0)).to.be.true;
36
37
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(1)).to.be.true;
37
38
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(2)).to.be.true;
38
39
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(3)).to.be.true;
39
- (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(4)).to.be.false;
40
+ (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(4)).to.be.true;
41
+ (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(5)).to.be.false;
40
42
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is(-1)).to.be.false;
41
43
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is({})).to.be.false;
42
44
  (0, chai_1.expect)(preference_scope_1.PreferenceScope.is('Default')).to.be.false;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-scope.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-scope.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-scope.spec.ts"],"names":[],"mappings":"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"}
@@ -212,6 +212,10 @@ export interface PreferenceInspection<T = JSONValue> {
212
212
  * Value in folder scope.
213
213
  */
214
214
  workspaceFolderValue: T | undefined;
215
+ /**
216
+ * Value in session scope (in-memory, set via `--session-preference`).
217
+ */
218
+ sessionValue?: T | undefined;
215
219
  /**
216
220
  * The value that is active, i.e. the value set in the lowest scope available.
217
221
  */
@@ -252,6 +256,21 @@ export declare class PreferenceServiceImpl implements PreferenceService {
252
256
  get<T>(preferenceName: string, defaultValue?: T, resourceUri?: string): T | undefined;
253
257
  resolve<T>(preferenceName: string, defaultValue?: T, resourceUri?: string): PreferenceResolveResult<T>;
254
258
  set(preferenceName: string, value: any, scope: PreferenceScope | undefined, resourceUri?: string): Promise<void>;
259
+ /**
260
+ * When a preference is written to a persistent scope, drop any in-memory session
261
+ * override (set via `--session-preference`) for the same key so that the explicit
262
+ * change takes effect for the remainder of the session. Without this, the session
263
+ * scope would keep shadowing the user's change because it has higher precedence.
264
+ *
265
+ * Note: this fires for any write to a persistent scope, including programmatic
266
+ * writes from extensions. Extensions that race with startup CLI overrides will
267
+ * therefore clear them. This is intentional: a programmatic write is "explicit"
268
+ * from the preference system's point of view, but consumers should be aware.
269
+ *
270
+ * Session preferences are global (no per-resource scoping), so `resourceUri` is
271
+ * not threaded through.
272
+ */
273
+ protected evictSessionOverride(preferenceName: string, writtenScope: PreferenceScope): Promise<void>;
255
274
  getBoolean(preferenceName: string): boolean | undefined;
256
275
  getBoolean(preferenceName: string, defaultValue: boolean): boolean;
257
276
  getBoolean(preferenceName: string, defaultValue: boolean, resourceUri: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-service.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-service.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
@@ -202,10 +202,35 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
202
202
  }
203
203
  const provider = this.getProvider(resolvedScope);
204
204
  if (provider && await provider.setPreference(preferenceName, value, resourceUri)) {
205
+ await this.evictSessionOverride(preferenceName, resolvedScope);
205
206
  return;
206
207
  }
207
208
  throw new Error(`Unable to write to ${preference_scope_1.PreferenceScope[resolvedScope]} Settings.`);
208
209
  }
210
+ /**
211
+ * When a preference is written to a persistent scope, drop any in-memory session
212
+ * override (set via `--session-preference`) for the same key so that the explicit
213
+ * change takes effect for the remainder of the session. Without this, the session
214
+ * scope would keep shadowing the user's change because it has higher precedence.
215
+ *
216
+ * Note: this fires for any write to a persistent scope, including programmatic
217
+ * writes from extensions. Extensions that race with startup CLI overrides will
218
+ * therefore clear them. This is intentional: a programmatic write is "explicit"
219
+ * from the preference system's point of view, but consumers should be aware.
220
+ *
221
+ * Session preferences are global (no per-resource scoping), so `resourceUri` is
222
+ * not threaded through.
223
+ */
224
+ async evictSessionOverride(preferenceName, writtenScope) {
225
+ if (writtenScope === preference_scope_1.PreferenceScope.Session || writtenScope === preference_scope_1.PreferenceScope.Default) {
226
+ return;
227
+ }
228
+ const sessionProvider = this.getProvider(preference_scope_1.PreferenceScope.Session);
229
+ if (sessionProvider && sessionProvider.get(preferenceName) !== undefined) {
230
+ // Passing `undefined` clears the value in the session provider.
231
+ await sessionProvider.setPreference(preferenceName, undefined);
232
+ }
233
+ }
209
234
  getBoolean(preferenceName, defaultValue, resourceUri) {
210
235
  const value = resourceUri ? this.get(preferenceName, defaultValue, resourceUri) : this.get(preferenceName, defaultValue);
211
236
  // eslint-disable-next-line no-null/no-null
@@ -235,8 +260,9 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
235
260
  const globalValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.User, resourceUri, forceLanguageOverride);
236
261
  const workspaceValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Workspace, resourceUri, forceLanguageOverride);
237
262
  const workspaceFolderValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Folder, resourceUri, forceLanguageOverride);
238
- const valueApplied = workspaceFolderValue ?? workspaceValue ?? globalValue ?? defaultValue;
239
- return { preferenceName, defaultValue, globalValue, workspaceValue, workspaceFolderValue, value: valueApplied };
263
+ const sessionValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Session, resourceUri, forceLanguageOverride);
264
+ const valueApplied = sessionValue ?? workspaceFolderValue ?? workspaceValue ?? globalValue ?? defaultValue;
265
+ return { preferenceName, defaultValue, globalValue, workspaceValue, workspaceFolderValue, sessionValue, value: valueApplied };
240
266
  }
241
267
  inspectInScope(preferenceName, scope, resourceUri, forceLanguageOverride) {
242
268
  const value = this.doInspectInScope(preferenceName, scope, resourceUri);
@@ -258,6 +284,8 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
258
284
  return inspection.workspaceValue;
259
285
  case preference_scope_1.PreferenceScope.Folder:
260
286
  return inspection.workspaceFolderValue;
287
+ case preference_scope_1.PreferenceScope.Session:
288
+ return inspection.sessionValue;
261
289
  }
262
290
  (0, types_1.unreachable)(scope, 'Not all PreferenceScope enum variants handled.');
263
291
  }
@@ -278,9 +306,10 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
278
306
  return [];
279
307
  }
280
308
  // Scopes in ascending order of scope breadth.
281
- const allScopes = [...this.schemaService.validScopes].reverse();
282
- // Get rid of Default scope. We can't set anything there.
283
- allScopes.pop();
309
+ const allScopes = [...this.schemaService.validScopes].reverse()
310
+ // Default is read-only, and Session is populated only by `--session-preference`,
311
+ // so neither is a valid target for a regular user edit.
312
+ .filter(scope => scope !== preference_scope_1.PreferenceScope.Default && scope !== preference_scope_1.PreferenceScope.Session);
284
313
  const isScopeDefined = (scope) => this.getScopedValueFromInspection(inspection, scope) !== undefined;
285
314
  if (intendedValue === undefined) {
286
315
  return allScopes.filter(isScopeDefined);
@@ -1 +1 @@
1
- {"version":3,"file":"preference-service.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-service.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { JSONObject, JSONValue } from '@lumino/coreutils';
2
+ import { PreferenceProvider } from './preference-provider';
3
+ import { PreferenceProviderImpl } from './preference-provider-impl';
4
+ import { PreferenceScope } from './preference-scope';
5
+ /**
6
+ * In-memory preference provider used for process-lifetime overrides such as those
7
+ * supplied via the `--session-preference` CLI option. Values live in memory only
8
+ * and are dropped when the process exits.
9
+ */
10
+ export declare class SessionPreferenceProvider extends PreferenceProviderImpl implements PreferenceProvider {
11
+ protected readonly preferences: Map<string, JSONValue>;
12
+ protected init(): void;
13
+ canHandleScope(scope: PreferenceScope): boolean;
14
+ getPreferences(): JSONObject;
15
+ setPreference(key: string, value: JSONValue | undefined): Promise<boolean>;
16
+ }
17
+ //# sourceMappingURL=session-preference-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preference-provider.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,sBAAuB,YAAW,kBAAkB;IAE/F,SAAS,CAAC,QAAQ,CAAC,WAAW,yBAAgC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAIb,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAIxD,cAAc,IAAI,UAAU;IAQtB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBnF"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SessionPreferenceProvider = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("inversify");
21
+ const preference_provider_impl_1 = require("./preference-provider-impl");
22
+ const preference_scope_1 = require("./preference-scope");
23
+ /**
24
+ * In-memory preference provider used for process-lifetime overrides such as those
25
+ * supplied via the `--session-preference` CLI option. Values live in memory only
26
+ * and are dropped when the process exits.
27
+ */
28
+ let SessionPreferenceProvider = class SessionPreferenceProvider extends preference_provider_impl_1.PreferenceProviderImpl {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.preferences = new Map();
32
+ }
33
+ init() {
34
+ this._ready.resolve();
35
+ }
36
+ canHandleScope(scope) {
37
+ return scope === preference_scope_1.PreferenceScope.Session;
38
+ }
39
+ getPreferences() {
40
+ const result = {};
41
+ for (const [name, value] of this.preferences) {
42
+ result[name] = value;
43
+ }
44
+ return result;
45
+ }
46
+ async setPreference(key, value) {
47
+ const oldValue = this.preferences.get(key);
48
+ if (value === undefined) {
49
+ if (!this.preferences.has(key)) {
50
+ return false;
51
+ }
52
+ this.preferences.delete(key);
53
+ }
54
+ else {
55
+ this.preferences.set(key, value);
56
+ }
57
+ const change = {
58
+ preferenceName: key,
59
+ newValue: value,
60
+ oldValue,
61
+ scope: preference_scope_1.PreferenceScope.Session
62
+ };
63
+ await this.emitPreferencesChangedEvent([change]);
64
+ return true;
65
+ }
66
+ };
67
+ exports.SessionPreferenceProvider = SessionPreferenceProvider;
68
+ tslib_1.__decorate([
69
+ (0, inversify_1.postConstruct)(),
70
+ tslib_1.__metadata("design:type", Function),
71
+ tslib_1.__metadata("design:paramtypes", []),
72
+ tslib_1.__metadata("design:returntype", void 0)
73
+ ], SessionPreferenceProvider.prototype, "init", null);
74
+ exports.SessionPreferenceProvider = SessionPreferenceProvider = tslib_1.__decorate([
75
+ (0, inversify_1.injectable)()
76
+ ], SessionPreferenceProvider);
77
+ //# sourceMappingURL=session-preference-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preference-provider.js","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,yCAAsD;AAEtD,yEAAoE;AACpE,yDAAqD;AAErD;;;;GAIG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,iDAAsB;IAA9D;;QAEgB,gBAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAsClE,CAAC;IAnCa,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEQ,cAAc,CAAC,KAAsB;QAC1C,OAAO,KAAK,KAAK,kCAAe,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,KAA4B;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAiC;YACzC,cAAc,EAAE,GAAG;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ;YACR,KAAK,EAAE,kCAAe,CAAC,OAAO;SACjC,CAAC;QACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAxCY,8DAAyB;AAKxB;IADT,IAAA,yBAAa,GAAE;;;;qDAGf;oCAPQ,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAwCrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-preference-provider.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preference-provider.spec.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const session_preference_provider_1 = require("./session-preference-provider");
20
+ const preference_scope_1 = require("./preference-scope");
21
+ describe('SessionPreferenceProvider', () => {
22
+ let provider;
23
+ beforeEach(() => {
24
+ provider = new session_preference_provider_1.SessionPreferenceProvider();
25
+ // PostConstruct emulation
26
+ provider.init();
27
+ });
28
+ it('claims only the Session scope', () => {
29
+ (0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Session)).to.be.true;
30
+ (0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.User)).to.be.false;
31
+ (0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Workspace)).to.be.false;
32
+ (0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Folder)).to.be.false;
33
+ (0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Default)).to.be.false;
34
+ });
35
+ it('starts empty', () => {
36
+ (0, chai_1.expect)(provider.getPreferences()).to.deep.equal({});
37
+ });
38
+ it('stores set values in memory and exposes them via get/resolve', async () => {
39
+ const ok = await provider.setPreference('editor.fontSize', 18);
40
+ (0, chai_1.expect)(ok).to.be.true;
41
+ (0, chai_1.expect)(provider.get('editor.fontSize')).to.equal(18);
42
+ (0, chai_1.expect)(provider.resolve('editor.fontSize').value).to.equal(18);
43
+ (0, chai_1.expect)(provider.getPreferences()).to.deep.equal({ 'editor.fontSize': 18 });
44
+ });
45
+ it('emits a change event on set', async () => {
46
+ let received;
47
+ provider.onDidPreferencesChanged(changes => {
48
+ const key = Object.keys(changes)[0];
49
+ received = {
50
+ name: changes[key].preferenceName,
51
+ newValue: changes[key].newValue,
52
+ oldValue: changes[key].oldValue,
53
+ scope: changes[key].scope
54
+ };
55
+ });
56
+ await provider.setPreference('foo', 'bar');
57
+ (0, chai_1.expect)(received).to.deep.equal({ name: 'foo', newValue: 'bar', oldValue: undefined, scope: preference_scope_1.PreferenceScope.Session });
58
+ });
59
+ it('removes a value when set to undefined', async () => {
60
+ await provider.setPreference('foo', 'bar');
61
+ const removed = await provider.setPreference('foo', undefined);
62
+ (0, chai_1.expect)(removed).to.be.true;
63
+ (0, chai_1.expect)(provider.get('foo')).to.equal(undefined);
64
+ (0, chai_1.expect)(provider.getPreferences()).to.deep.equal({});
65
+ });
66
+ it('returns false when removing a key that was never set', async () => {
67
+ const removed = await provider.setPreference('missing', undefined);
68
+ (0, chai_1.expect)(removed).to.be.false;
69
+ });
70
+ });
71
+ //# sourceMappingURL=session-preference-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-preference-provider.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import { Emitter, Event } from '../common/event';
1
2
  import { ClipboardService } from '../browser/clipboard-service';
2
3
  export declare class ElectronClipboardService implements ClipboardService {
4
+ protected readonly onDidWriteTextEmitter: Emitter<string>;
5
+ readonly onDidWriteText: Event<string>;
3
6
  readText(): string;
4
7
  writeText(value: string): void;
5
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"electron-clipboard-service.d.ts","sourceRoot":"","sources":["../../src/electron-browser/electron-clipboard-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBACa,wBAAyB,YAAW,gBAAgB;IAE7D,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAIjC"}
1
+ {"version":3,"file":"electron-clipboard-service.d.ts","sourceRoot":"","sources":["../../src/electron-browser/electron-clipboard-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBACa,wBAAyB,YAAW,gBAAgB;IAE7D,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAyB;IACjE,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAE1E,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAKjC"}
@@ -19,12 +19,18 @@ exports.ElectronClipboardService = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  // eslint-disable-next-line import/no-extraneous-dependencies
21
21
  const inversify_1 = require("inversify");
22
+ const event_1 = require("../common/event");
22
23
  let ElectronClipboardService = class ElectronClipboardService {
24
+ constructor() {
25
+ this.onDidWriteTextEmitter = new event_1.Emitter();
26
+ this.onDidWriteText = this.onDidWriteTextEmitter.event;
27
+ }
23
28
  readText() {
24
29
  return window.electronTheiaCore.readClipboard();
25
30
  }
26
31
  writeText(value) {
27
32
  window.electronTheiaCore.writeClipboard(value);
33
+ this.onDidWriteTextEmitter.fire(value);
28
34
  }
29
35
  };
30
36
  exports.ElectronClipboardService = ElectronClipboardService;