@theia/preferences 1.67.0-next.56 → 1.67.0-next.59

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 (205) hide show
  1. package/lib/browser/folder-preference-provider.d.ts +23 -0
  2. package/lib/browser/folder-preference-provider.d.ts.map +1 -0
  3. package/lib/browser/folder-preference-provider.js +57 -0
  4. package/lib/browser/folder-preference-provider.js.map +1 -0
  5. package/lib/browser/folders-preferences-provider.d.ts +27 -0
  6. package/lib/browser/folders-preferences-provider.d.ts.map +1 -0
  7. package/lib/browser/folders-preferences-provider.js +237 -0
  8. package/lib/browser/folders-preferences-provider.js.map +1 -0
  9. package/lib/browser/frontend-preference-storage.d.ts +20 -0
  10. package/lib/browser/frontend-preference-storage.d.ts.map +1 -0
  11. package/lib/browser/frontend-preference-storage.js +63 -0
  12. package/lib/browser/frontend-preference-storage.js.map +1 -0
  13. package/lib/browser/index.d.ts +5 -0
  14. package/lib/browser/index.d.ts.map +1 -0
  15. package/lib/browser/index.js +23 -0
  16. package/lib/browser/index.js.map +1 -0
  17. package/lib/browser/monaco-jsonc-editor.d.ts +10 -0
  18. package/lib/browser/monaco-jsonc-editor.d.ts.map +1 -0
  19. package/lib/browser/monaco-jsonc-editor.js +73 -0
  20. package/lib/browser/monaco-jsonc-editor.js.map +1 -0
  21. package/lib/browser/package.spec.d.ts +1 -0
  22. package/lib/browser/package.spec.d.ts.map +1 -0
  23. package/lib/browser/package.spec.js +26 -0
  24. package/lib/browser/package.spec.js.map +1 -0
  25. package/lib/browser/preference-bindings.d.ts +4 -0
  26. package/lib/browser/preference-bindings.d.ts.map +1 -0
  27. package/lib/browser/preference-bindings.js +49 -0
  28. package/lib/browser/preference-bindings.js.map +1 -0
  29. package/lib/browser/preference-frontend-contribution.d.ts +9 -0
  30. package/lib/browser/preference-frontend-contribution.d.ts.map +1 -0
  31. package/lib/browser/preference-frontend-contribution.js +45 -0
  32. package/lib/browser/preference-frontend-contribution.js.map +1 -0
  33. package/lib/browser/preference-frontend-module.d.ts +7 -0
  34. package/lib/browser/preference-frontend-module.d.ts.map +1 -0
  35. package/lib/browser/preference-frontend-module.js +67 -0
  36. package/lib/browser/preference-frontend-module.js.map +1 -0
  37. package/lib/browser/preference-open-handler.d.ts +10 -0
  38. package/lib/browser/preference-open-handler.d.ts.map +1 -0
  39. package/lib/browser/preference-open-handler.js +57 -0
  40. package/lib/browser/preference-open-handler.js.map +1 -0
  41. package/lib/browser/preference-transaction-manager.d.ts +98 -0
  42. package/lib/browser/preference-transaction-manager.d.ts.map +1 -0
  43. package/lib/browser/preference-transaction-manager.js +279 -0
  44. package/lib/browser/preference-transaction-manager.js.map +1 -0
  45. package/lib/browser/preference-tree-model.d.ts +60 -0
  46. package/lib/browser/preference-tree-model.d.ts.map +1 -0
  47. package/lib/browser/preference-tree-model.js +247 -0
  48. package/lib/browser/preference-tree-model.js.map +1 -0
  49. package/lib/browser/preferences-contribution.d.ts +35 -0
  50. package/lib/browser/preferences-contribution.d.ts.map +1 -0
  51. package/lib/browser/preferences-contribution.js +263 -0
  52. package/lib/browser/preferences-contribution.js.map +1 -0
  53. package/lib/browser/preferences-json-schema-contribution.d.ts +17 -0
  54. package/lib/browser/preferences-json-schema-contribution.d.ts.map +1 -0
  55. package/lib/browser/preferences-json-schema-contribution.js +84 -0
  56. package/lib/browser/preferences-json-schema-contribution.js.map +1 -0
  57. package/lib/browser/preferences-monaco-contribution.d.ts +2 -0
  58. package/lib/browser/preferences-monaco-contribution.d.ts.map +1 -0
  59. package/lib/browser/preferences-monaco-contribution.js +28 -0
  60. package/lib/browser/preferences-monaco-contribution.js.map +1 -0
  61. package/lib/browser/util/preference-layout.d.ts +23 -0
  62. package/lib/browser/util/preference-layout.d.ts.map +1 -0
  63. package/lib/browser/util/preference-layout.js +441 -0
  64. package/lib/browser/util/preference-layout.js.map +1 -0
  65. package/lib/browser/util/preference-scope-command-manager.d.ts +18 -0
  66. package/lib/browser/util/preference-scope-command-manager.d.ts.map +1 -0
  67. package/lib/browser/util/preference-scope-command-manager.js +80 -0
  68. package/lib/browser/util/preference-scope-command-manager.js.map +1 -0
  69. package/lib/browser/util/preference-tree-generator.d.ts +48 -0
  70. package/lib/browser/util/preference-tree-generator.d.ts.map +1 -0
  71. package/lib/browser/util/preference-tree-generator.js +277 -0
  72. package/lib/browser/util/preference-tree-generator.js.map +1 -0
  73. package/lib/browser/util/preference-tree-label-provider.d.ts +12 -0
  74. package/lib/browser/util/preference-tree-label-provider.d.ts.map +1 -0
  75. package/lib/browser/util/preference-tree-label-provider.js +74 -0
  76. package/lib/browser/util/preference-tree-label-provider.js.map +1 -0
  77. package/lib/browser/util/preference-tree-label-provider.spec.d.ts +2 -0
  78. package/lib/browser/util/preference-tree-label-provider.spec.d.ts.map +1 -0
  79. package/lib/browser/util/preference-tree-label-provider.spec.js +90 -0
  80. package/lib/browser/util/preference-tree-label-provider.spec.js.map +1 -0
  81. package/lib/browser/util/preference-types.d.ts +69 -0
  82. package/lib/browser/util/preference-types.d.ts.map +1 -0
  83. package/lib/browser/util/preference-types.js +133 -0
  84. package/lib/browser/util/preference-types.js.map +1 -0
  85. package/lib/browser/views/components/preference-array-input.d.ts +29 -0
  86. package/lib/browser/views/components/preference-array-input.d.ts.map +1 -0
  87. package/lib/browser/views/components/preference-array-input.js +176 -0
  88. package/lib/browser/views/components/preference-array-input.js.map +1 -0
  89. package/lib/browser/views/components/preference-boolean-input.d.ts +18 -0
  90. package/lib/browser/views/components/preference-boolean-input.d.ts.map +1 -0
  91. package/lib/browser/views/components/preference-boolean-input.js +75 -0
  92. package/lib/browser/views/components/preference-boolean-input.js.map +1 -0
  93. package/lib/browser/views/components/preference-file-input.d.ts +30 -0
  94. package/lib/browser/views/components/preference-file-input.d.ts.map +1 -0
  95. package/lib/browser/views/components/preference-file-input.js +103 -0
  96. package/lib/browser/views/components/preference-file-input.js.map +1 -0
  97. package/lib/browser/views/components/preference-json-input.d.ts +20 -0
  98. package/lib/browser/views/components/preference-json-input.d.ts.map +1 -0
  99. package/lib/browser/views/components/preference-json-input.js +86 -0
  100. package/lib/browser/views/components/preference-json-input.js.map +1 -0
  101. package/lib/browser/views/components/preference-markdown-renderer.d.ts +15 -0
  102. package/lib/browser/views/components/preference-markdown-renderer.d.ts.map +1 -0
  103. package/lib/browser/views/components/preference-markdown-renderer.js +86 -0
  104. package/lib/browser/views/components/preference-markdown-renderer.js.map +1 -0
  105. package/lib/browser/views/components/preference-node-renderer-creator.d.ts +49 -0
  106. package/lib/browser/views/components/preference-node-renderer-creator.d.ts.map +1 -0
  107. package/lib/browser/views/components/preference-node-renderer-creator.js +122 -0
  108. package/lib/browser/views/components/preference-node-renderer-creator.js.map +1 -0
  109. package/lib/browser/views/components/preference-node-renderer.d.ts +118 -0
  110. package/lib/browser/views/components/preference-node-renderer.d.ts.map +1 -0
  111. package/lib/browser/views/components/preference-node-renderer.js +442 -0
  112. package/lib/browser/views/components/preference-node-renderer.js.map +1 -0
  113. package/lib/browser/views/components/preference-null-input.d.ts +16 -0
  114. package/lib/browser/views/components/preference-null-input.d.ts.map +1 -0
  115. package/lib/browser/views/components/preference-null-input.js +59 -0
  116. package/lib/browser/views/components/preference-null-input.js.map +1 -0
  117. package/lib/browser/views/components/preference-number-input.d.ts +35 -0
  118. package/lib/browser/views/components/preference-number-input.d.ts.map +1 -0
  119. package/lib/browser/views/components/preference-number-input.js +174 -0
  120. package/lib/browser/views/components/preference-number-input.js.map +1 -0
  121. package/lib/browser/views/components/preference-select-input.d.ts +29 -0
  122. package/lib/browser/views/components/preference-select-input.d.ts.map +1 -0
  123. package/lib/browser/views/components/preference-select-input.js +131 -0
  124. package/lib/browser/views/components/preference-select-input.js.map +1 -0
  125. package/lib/browser/views/components/preference-string-input.d.ts +18 -0
  126. package/lib/browser/views/components/preference-string-input.d.ts.map +1 -0
  127. package/lib/browser/views/components/preference-string-input.js +85 -0
  128. package/lib/browser/views/components/preference-string-input.js.map +1 -0
  129. package/lib/browser/views/preference-editor-widget.d.ts +75 -0
  130. package/lib/browser/views/preference-editor-widget.d.ts.map +1 -0
  131. package/lib/browser/views/preference-editor-widget.js +391 -0
  132. package/lib/browser/views/preference-editor-widget.js.map +1 -0
  133. package/lib/browser/views/preference-scope-tabbar-widget.d.ts +55 -0
  134. package/lib/browser/views/preference-scope-tabbar-widget.d.ts.map +1 -0
  135. package/lib/browser/views/preference-scope-tabbar-widget.js +337 -0
  136. package/lib/browser/views/preference-scope-tabbar-widget.js.map +1 -0
  137. package/lib/browser/views/preference-searchbar-widget.d.ts +54 -0
  138. package/lib/browser/views/preference-searchbar-widget.d.ts.map +1 -0
  139. package/lib/browser/views/preference-searchbar-widget.js +163 -0
  140. package/lib/browser/views/preference-searchbar-widget.js.map +1 -0
  141. package/lib/browser/views/preference-tree-widget.d.ts +20 -0
  142. package/lib/browser/views/preference-tree-widget.d.ts.map +1 -0
  143. package/lib/browser/views/preference-tree-widget.js +106 -0
  144. package/lib/browser/views/preference-tree-widget.js.map +1 -0
  145. package/lib/browser/views/preference-widget-bindings.d.ts +4 -0
  146. package/lib/browser/views/preference-widget-bindings.d.ts.map +1 -0
  147. package/lib/browser/views/preference-widget-bindings.js +91 -0
  148. package/lib/browser/views/preference-widget-bindings.js.map +1 -0
  149. package/lib/browser/views/preference-widget.d.ts +38 -0
  150. package/lib/browser/views/preference-widget.d.ts.map +1 -0
  151. package/lib/browser/views/preference-widget.js +120 -0
  152. package/lib/browser/views/preference-widget.js.map +1 -0
  153. package/lib/browser/workspace-file-preference-provider.d.ts +24 -0
  154. package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -0
  155. package/lib/browser/workspace-file-preference-provider.js +103 -0
  156. package/lib/browser/workspace-file-preference-provider.js.map +1 -0
  157. package/lib/browser/workspace-preference-provider.d.ts +36 -0
  158. package/lib/browser/workspace-preference-provider.d.ts.map +1 -0
  159. package/lib/browser/workspace-preference-provider.js +147 -0
  160. package/lib/browser/workspace-preference-provider.js.map +1 -0
  161. package/lib/common/abstract-resource-preference-provider.d.ts +69 -0
  162. package/lib/common/abstract-resource-preference-provider.d.ts.map +1 -0
  163. package/lib/common/abstract-resource-preference-provider.js +207 -0
  164. package/lib/common/abstract-resource-preference-provider.js.map +1 -0
  165. package/lib/common/abstract-resource-preference-provider.spec.d.ts +2 -0
  166. package/lib/common/abstract-resource-preference-provider.spec.d.ts.map +1 -0
  167. package/lib/common/abstract-resource-preference-provider.spec.js +84 -0
  168. package/lib/common/abstract-resource-preference-provider.spec.js.map +1 -0
  169. package/lib/common/cli-preferences.d.ts +6 -0
  170. package/lib/common/cli-preferences.d.ts.map +1 -0
  171. package/lib/common/cli-preferences.js +21 -0
  172. package/lib/common/cli-preferences.js.map +1 -0
  173. package/lib/common/jsonc-editor.d.ts +10 -0
  174. package/lib/common/jsonc-editor.d.ts.map +1 -0
  175. package/lib/common/jsonc-editor.js +68 -0
  176. package/lib/common/jsonc-editor.js.map +1 -0
  177. package/lib/common/section-preference-provider.d.ts +20 -0
  178. package/lib/common/section-preference-provider.d.ts.map +1 -0
  179. package/lib/common/section-preference-provider.js +84 -0
  180. package/lib/common/section-preference-provider.js.map +1 -0
  181. package/lib/common/user-configs-preference-provider.d.ts +24 -0
  182. package/lib/common/user-configs-preference-provider.d.ts.map +1 -0
  183. package/lib/common/user-configs-preference-provider.js +134 -0
  184. package/lib/common/user-configs-preference-provider.js.map +1 -0
  185. package/lib/common/user-preference-provider.d.ts +14 -0
  186. package/lib/common/user-preference-provider.d.ts.map +1 -0
  187. package/lib/common/user-preference-provider.js +37 -0
  188. package/lib/common/user-preference-provider.js.map +1 -0
  189. package/lib/node/backend-preference-storage.d.ts +34 -0
  190. package/lib/node/backend-preference-storage.d.ts.map +1 -0
  191. package/lib/node/backend-preference-storage.js +100 -0
  192. package/lib/node/backend-preference-storage.js.map +1 -0
  193. package/lib/node/preference-backend-module.d.ts +4 -0
  194. package/lib/node/preference-backend-module.d.ts.map +1 -0
  195. package/lib/node/preference-backend-module.js +41 -0
  196. package/lib/node/preference-backend-module.js.map +1 -0
  197. package/lib/node/preference-bindings.d.ts +3 -0
  198. package/lib/node/preference-bindings.d.ts.map +1 -0
  199. package/lib/node/preference-bindings.js +33 -0
  200. package/lib/node/preference-bindings.js.map +1 -0
  201. package/lib/node/preference-cli-contribution.d.ts +11 -0
  202. package/lib/node/preference-cli-contribution.d.ts.map +1 -0
  203. package/lib/node/preference-cli-contribution.js +48 -0
  204. package/lib/node/preference-cli-contribution.js.map +1 -0
  205. package/package.json +8 -8
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Ericsson 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.WorkspacePreferenceProvider = void 0;
19
+ const tslib_1 = require("tslib");
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const disposable_1 = require("@theia/core/lib/common/disposable");
23
+ const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
24
+ const workspace_file_preference_provider_1 = require("./workspace-file-preference-provider");
25
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
26
+ const core_1 = require("@theia/core");
27
+ let WorkspacePreferenceProvider = class WorkspacePreferenceProvider {
28
+ constructor() {
29
+ this.onDidPreferencesChangedEmitter = new core_1.Emitter();
30
+ this.onDidPreferencesChanged = this.onDidPreferencesChangedEmitter.event;
31
+ this.toDisposeOnEnsureDelegateUpToDate = new disposable_1.DisposableCollection();
32
+ this._ready = new promise_util_1.Deferred();
33
+ this.ready = this._ready.promise;
34
+ this.disposables = new disposable_1.DisposableCollection();
35
+ }
36
+ init() {
37
+ this.workspaceService.ready.then(() => {
38
+ // If there is no workspace after the workspace service is initialized, then no more work is needed for this provider to be ready.
39
+ // If there is a workspace, then we wait for the new delegate to be ready before declaring this provider ready.
40
+ if (!this.workspaceService.workspace) {
41
+ this._ready.resolve();
42
+ }
43
+ else {
44
+ // important for the case if onWorkspaceLocationChanged has fired before this init is finished
45
+ this.ensureDelegateUpToDate();
46
+ }
47
+ });
48
+ }
49
+ dispose() {
50
+ this.disposables.dispose();
51
+ }
52
+ canHandleScope(scope) {
53
+ return true;
54
+ }
55
+ getConfigUri(resourceUri = this.ensureResourceUri(), sectionName) {
56
+ var _a, _b;
57
+ return ((_a = this.delegate) === null || _a === void 0 ? void 0 : _a.getConfigUri) && ((_b = this.delegate) === null || _b === void 0 ? void 0 : _b.getConfigUri(resourceUri, sectionName));
58
+ }
59
+ getContainingConfigUri(resourceUri = this.ensureResourceUri(), sectionName) {
60
+ var _a, _b;
61
+ return (_b = (_a = this.delegate) === null || _a === void 0 ? void 0 : _a.getContainingConfigUri) === null || _b === void 0 ? void 0 : _b.call(_a, resourceUri, sectionName);
62
+ }
63
+ get delegate() {
64
+ return this._delegate;
65
+ }
66
+ ensureDelegateUpToDate() {
67
+ const delegate = this.createDelegate();
68
+ if (this._delegate !== delegate) {
69
+ this.toDisposeOnEnsureDelegateUpToDate.dispose();
70
+ this.disposables.push(this.toDisposeOnEnsureDelegateUpToDate);
71
+ this._delegate = delegate;
72
+ if (delegate) {
73
+ // If this provider has not yet declared itself ready, it should do so when the new delegate is ready.
74
+ delegate.ready.then(() => this._ready.resolve(), () => { });
75
+ }
76
+ if (delegate instanceof workspace_file_preference_provider_1.WorkspaceFilePreferenceProvider) {
77
+ this.toDisposeOnEnsureDelegateUpToDate.pushAll([
78
+ delegate,
79
+ delegate.onDidPreferencesChanged(changes => this.onDidPreferencesChangedEmitter.fire(changes))
80
+ ]);
81
+ }
82
+ }
83
+ }
84
+ createDelegate() {
85
+ const workspace = this.workspaceService.workspace;
86
+ if (!workspace) {
87
+ return undefined;
88
+ }
89
+ if (!this.workspaceService.isMultiRootWorkspaceOpened) {
90
+ return this.preferenceProviderProvider(core_1.PreferenceScope.Folder);
91
+ }
92
+ if (this._delegate instanceof workspace_file_preference_provider_1.WorkspaceFilePreferenceProvider && this._delegate.getConfigUri().isEqual(workspace.resource)) {
93
+ return this._delegate;
94
+ }
95
+ return this.workspaceFileProviderFactory({
96
+ workspaceUri: workspace.resource
97
+ });
98
+ }
99
+ get(preferenceName, resourceUri = this.ensureResourceUri()) {
100
+ const delegate = this.delegate;
101
+ return delegate ? delegate.get(preferenceName, resourceUri) : undefined;
102
+ }
103
+ resolve(preferenceName, resourceUri = this.ensureResourceUri()) {
104
+ const delegate = this.delegate;
105
+ return delegate ? delegate.resolve(preferenceName, resourceUri) : {};
106
+ }
107
+ async setPreference(preferenceName, value, resourceUri = this.ensureResourceUri()) {
108
+ const delegate = this.delegate;
109
+ if (delegate) {
110
+ return delegate.setPreference(preferenceName, value, resourceUri);
111
+ }
112
+ return false;
113
+ }
114
+ getPreferences(resourceUri = this.ensureResourceUri()) {
115
+ const delegate = this.delegate;
116
+ return delegate ? delegate.getPreferences(resourceUri) : {};
117
+ }
118
+ ensureResourceUri() {
119
+ if (this.workspaceService.workspace && !this.workspaceService.isMultiRootWorkspaceOpened) {
120
+ return this.workspaceService.workspace.resource.toString();
121
+ }
122
+ return undefined;
123
+ }
124
+ };
125
+ exports.WorkspacePreferenceProvider = WorkspacePreferenceProvider;
126
+ tslib_1.__decorate([
127
+ (0, inversify_1.inject)(workspace_service_1.WorkspaceService),
128
+ tslib_1.__metadata("design:type", workspace_service_1.WorkspaceService)
129
+ ], WorkspacePreferenceProvider.prototype, "workspaceService", void 0);
130
+ tslib_1.__decorate([
131
+ (0, inversify_1.inject)(workspace_file_preference_provider_1.WorkspaceFilePreferenceProviderFactory),
132
+ tslib_1.__metadata("design:type", Function)
133
+ ], WorkspacePreferenceProvider.prototype, "workspaceFileProviderFactory", void 0);
134
+ tslib_1.__decorate([
135
+ (0, inversify_1.inject)(core_1.PreferenceProviderProvider),
136
+ tslib_1.__metadata("design:type", Function)
137
+ ], WorkspacePreferenceProvider.prototype, "preferenceProviderProvider", void 0);
138
+ tslib_1.__decorate([
139
+ (0, inversify_1.postConstruct)(),
140
+ tslib_1.__metadata("design:type", Function),
141
+ tslib_1.__metadata("design:paramtypes", []),
142
+ tslib_1.__metadata("design:returntype", void 0)
143
+ ], WorkspacePreferenceProvider.prototype, "init", null);
144
+ exports.WorkspacePreferenceProvider = WorkspacePreferenceProvider = tslib_1.__decorate([
145
+ (0, inversify_1.injectable)()
146
+ ], WorkspacePreferenceProvider);
147
+ //# sourceMappingURL=workspace-preference-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-preference-provider.js","sourceRoot":"","sources":["../../src/browser/workspace-preference-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { Disposable } from '@theia/core/lib/common/disposable';
2
+ import { PreferenceProviderImpl, PreferenceScope, PreferenceSchemaService, PreferenceConfigurations, PreferenceLanguageOverrideService, Listener } from '@theia/core/lib/common';
3
+ import URI from '@theia/core/lib/common/uri';
4
+ import { Deferred } from '@theia/core/lib/common/promise-util';
5
+ import { Emitter, Event } from '@theia/core';
6
+ import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
7
+ export interface FileContentStatus {
8
+ content: string;
9
+ fileOK: boolean;
10
+ }
11
+ /**
12
+ * Abtracts the way to read and write preferences to a given resource
13
+ */
14
+ export interface PreferenceStorage extends Disposable {
15
+ /**
16
+ * Write a value to the underlying preference store
17
+ * @param key the preference key
18
+ * @param path the path to the JSON object to change
19
+ * @param value the new preference value
20
+ * @returns a promise that will resolve when all "onStored" listeners have finished
21
+ */
22
+ writeValue(key: string, path: string[], value: JSONValue): Promise<boolean>;
23
+ /**
24
+ * List of listeners that will get a string with the newly stored resource content and should return a promise that resolves when
25
+ * they are done with their processing
26
+ */
27
+ onDidChangeFileContent: Listener.Registration<FileContentStatus, Promise<boolean>>;
28
+ /**
29
+ * Reds the content of the underlying resource
30
+ */
31
+ read(): Promise<string>;
32
+ }
33
+ export declare const PreferenceStorageFactory: unique symbol;
34
+ export type PreferenceStorageFactory = (uri: URI, scope: PreferenceScope) => PreferenceStorage;
35
+ export declare abstract class AbstractResourcePreferenceProvider extends PreferenceProviderImpl {
36
+ protected preferenceStorage: PreferenceStorage;
37
+ protected preferences: Record<string, any>;
38
+ protected _fileExists: boolean;
39
+ protected readonly loading: Deferred<void>;
40
+ protected readonly onDidChangeValidityEmitter: Emitter<boolean>;
41
+ set fileExists(exists: boolean);
42
+ get onDidChangeValidity(): Event<boolean>;
43
+ protected readonly schemaProvider: PreferenceSchemaService;
44
+ protected readonly configurations: PreferenceConfigurations;
45
+ protected readonly preferenceOverrideService: PreferenceLanguageOverrideService;
46
+ protected readonly preferenceStorageFactory: PreferenceStorageFactory;
47
+ protected init(): void;
48
+ protected doInit(): Promise<void>;
49
+ protected abstract getUri(): URI;
50
+ abstract getScope(): PreferenceScope;
51
+ get valid(): boolean;
52
+ getConfigUri(): URI;
53
+ getConfigUri(resourceUri: string | undefined): URI | undefined;
54
+ contains(resourceUri: string | undefined): boolean;
55
+ getPreferences(resourceUri?: string): {
56
+ [key: string]: any;
57
+ };
58
+ setPreference(key: string, value: any, resourceUri?: string): Promise<boolean>;
59
+ protected doSetPreference(key: string, path: string[], value: JSONValue): Promise<boolean>;
60
+ protected getPath(preferenceName: string): string[] | undefined;
61
+ protected readPreferencesFromFile(): Promise<void>;
62
+ protected readPreferencesFromContent(content: string): void;
63
+ protected parse(content: string): any;
64
+ protected handlePreferenceChanges(newPrefs: {
65
+ [key: string]: any;
66
+ }): void;
67
+ protected reset(): void;
68
+ }
69
+ //# sourceMappingURL=abstract-resource-preference-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-resource-preference-provider.d.ts","sourceRoot":"","sources":["../../src/common/abstract-resource-preference-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Ericsson 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.AbstractResourcePreferenceProvider = exports.PreferenceStorageFactory = void 0;
19
+ const tslib_1 = require("tslib");
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
21
+ /* eslint-disable no-null/no-null */
22
+ const jsoncparser = require("jsonc-parser");
23
+ const inversify_1 = require("@theia/core/shared/inversify");
24
+ const disposable_1 = require("@theia/core/lib/common/disposable");
25
+ const common_1 = require("@theia/core/lib/common");
26
+ const uri_1 = require("@theia/core/lib/common/uri");
27
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
28
+ const core_1 = require("@theia/core");
29
+ ;
30
+ exports.PreferenceStorageFactory = Symbol('PreferenceStorageFactory');
31
+ let AbstractResourcePreferenceProvider = class AbstractResourcePreferenceProvider extends common_1.PreferenceProviderImpl {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.preferences = {};
35
+ this._fileExists = false;
36
+ this.loading = new promise_util_1.Deferred();
37
+ this.onDidChangeValidityEmitter = new core_1.Emitter();
38
+ }
39
+ set fileExists(exists) {
40
+ if (exists !== this._fileExists) {
41
+ this._fileExists = exists;
42
+ this.onDidChangeValidityEmitter.fire(exists);
43
+ }
44
+ }
45
+ get onDidChangeValidity() {
46
+ return this.onDidChangeValidityEmitter.event;
47
+ }
48
+ init() {
49
+ this.doInit();
50
+ }
51
+ async doInit() {
52
+ const uri = this.getUri();
53
+ this.toDispose.push(disposable_1.Disposable.create(() => this.loading.reject(new Error(`Preference provider for '${uri}' was disposed.`))));
54
+ this.preferenceStorage = this.preferenceStorageFactory(uri, this.getScope());
55
+ this.preferenceStorage.onDidChangeFileContent(async ({ content, fileOK }) => {
56
+ this.fileExists = fileOK;
57
+ this.readPreferencesFromContent(content);
58
+ await this.fireDidPreferencesChanged(); // Ensure all consumers of the event have received it.¨
59
+ return true;
60
+ });
61
+ await this.readPreferencesFromFile();
62
+ this._ready.resolve();
63
+ this.loading.resolve();
64
+ this.toDispose.pushAll([
65
+ disposable_1.Disposable.create(() => this.reset()),
66
+ ]);
67
+ }
68
+ get valid() {
69
+ return this._fileExists;
70
+ }
71
+ getConfigUri(resourceUri) {
72
+ if (!resourceUri) {
73
+ return this.getUri();
74
+ }
75
+ return this.valid && this.contains(resourceUri) ? this.getUri() : undefined;
76
+ }
77
+ contains(resourceUri) {
78
+ if (!resourceUri) {
79
+ return true;
80
+ }
81
+ const domain = this.getDomain();
82
+ if (!domain) {
83
+ return true;
84
+ }
85
+ const resourcePath = new uri_1.default(resourceUri).path;
86
+ return domain.some(uri => new uri_1.default(uri).path.relativity(resourcePath) >= 0);
87
+ }
88
+ getPreferences(resourceUri) {
89
+ return this.valid && this.contains(resourceUri) ? this.preferences : {};
90
+ }
91
+ async setPreference(key, value, resourceUri) {
92
+ let path;
93
+ if (this.toDispose.disposed || !(path = this.getPath(key)) || !this.contains(resourceUri)) {
94
+ return false;
95
+ }
96
+ return this.doSetPreference(key, path, value);
97
+ }
98
+ doSetPreference(key, path, value) {
99
+ return this.preferenceStorage.writeValue(key, path, value);
100
+ }
101
+ getPath(preferenceName) {
102
+ const asOverride = this.preferenceOverrideService.overriddenPreferenceName(preferenceName);
103
+ if (asOverride === null || asOverride === void 0 ? void 0 : asOverride.overrideIdentifier) {
104
+ return [this.preferenceOverrideService.markLanguageOverride(asOverride.overrideIdentifier), asOverride.preferenceName];
105
+ }
106
+ return [preferenceName];
107
+ }
108
+ readPreferencesFromFile() {
109
+ return this.preferenceStorage.read().then(value => {
110
+ this.fileExists = true;
111
+ this.readPreferencesFromContent(value);
112
+ }).catch(() => {
113
+ this.fileExists = false;
114
+ this.readPreferencesFromContent('');
115
+ });
116
+ }
117
+ readPreferencesFromContent(content) {
118
+ let preferencesInJson;
119
+ try {
120
+ preferencesInJson = this.parse(content);
121
+ }
122
+ catch {
123
+ preferencesInJson = {};
124
+ }
125
+ const parsedPreferences = this.getParsedContent(preferencesInJson);
126
+ this.handlePreferenceChanges(parsedPreferences);
127
+ }
128
+ parse(content) {
129
+ content = content.trim();
130
+ if (!content) {
131
+ return undefined;
132
+ }
133
+ const strippedContent = jsoncparser.stripComments(content);
134
+ return jsoncparser.parse(strippedContent);
135
+ }
136
+ handlePreferenceChanges(newPrefs) {
137
+ const oldPrefs = Object.assign({}, this.preferences);
138
+ this.preferences = newPrefs;
139
+ const prefNames = new Set([...Object.keys(oldPrefs), ...Object.keys(newPrefs)]);
140
+ const prefChanges = [];
141
+ const uri = this.getUri();
142
+ for (const prefName of prefNames.values()) {
143
+ const oldValue = oldPrefs[prefName];
144
+ const newValue = newPrefs[prefName];
145
+ const schemaProperty = this.schemaProvider.getSchemaProperty(prefName);
146
+ if (schemaProperty && schemaProperty.included) {
147
+ const scope = schemaProperty.scope;
148
+ // do not emit the change event if the change is made out of the defined preference scope
149
+ if (!this.schemaProvider.isValidInScope(prefName, this.getScope())) {
150
+ console.warn(`Preference ${prefName} in ${uri} can only be defined in scopes: ${common_1.PreferenceScope.getScopeNames(scope).join(', ')}.`);
151
+ continue;
152
+ }
153
+ }
154
+ if (!common_1.PreferenceUtils.deepEqual(newValue, oldValue)) {
155
+ prefChanges.push({
156
+ preferenceName: prefName, newValue, oldValue, scope: this.getScope(), domain: this.getDomain()
157
+ });
158
+ }
159
+ }
160
+ if (prefChanges.length > 0) {
161
+ this.emitPreferencesChangedEvent(prefChanges);
162
+ }
163
+ }
164
+ reset() {
165
+ const preferences = this.preferences;
166
+ this.preferences = {};
167
+ const changes = [];
168
+ for (const prefName of Object.keys(preferences)) {
169
+ const value = preferences[prefName];
170
+ if (value !== undefined) {
171
+ changes.push({
172
+ preferenceName: prefName, newValue: undefined, oldValue: value, scope: this.getScope(), domain: this.getDomain()
173
+ });
174
+ }
175
+ }
176
+ if (changes.length > 0) {
177
+ this.emitPreferencesChangedEvent(changes);
178
+ }
179
+ }
180
+ };
181
+ exports.AbstractResourcePreferenceProvider = AbstractResourcePreferenceProvider;
182
+ tslib_1.__decorate([
183
+ (0, inversify_1.inject)(common_1.PreferenceSchemaService),
184
+ tslib_1.__metadata("design:type", Object)
185
+ ], AbstractResourcePreferenceProvider.prototype, "schemaProvider", void 0);
186
+ tslib_1.__decorate([
187
+ (0, inversify_1.inject)(common_1.PreferenceConfigurations),
188
+ tslib_1.__metadata("design:type", common_1.PreferenceConfigurations)
189
+ ], AbstractResourcePreferenceProvider.prototype, "configurations", void 0);
190
+ tslib_1.__decorate([
191
+ (0, inversify_1.inject)(common_1.PreferenceLanguageOverrideService),
192
+ tslib_1.__metadata("design:type", common_1.PreferenceLanguageOverrideService)
193
+ ], AbstractResourcePreferenceProvider.prototype, "preferenceOverrideService", void 0);
194
+ tslib_1.__decorate([
195
+ (0, inversify_1.inject)(exports.PreferenceStorageFactory),
196
+ tslib_1.__metadata("design:type", Function)
197
+ ], AbstractResourcePreferenceProvider.prototype, "preferenceStorageFactory", void 0);
198
+ tslib_1.__decorate([
199
+ (0, inversify_1.postConstruct)(),
200
+ tslib_1.__metadata("design:type", Function),
201
+ tslib_1.__metadata("design:paramtypes", []),
202
+ tslib_1.__metadata("design:returntype", void 0)
203
+ ], AbstractResourcePreferenceProvider.prototype, "init", null);
204
+ exports.AbstractResourcePreferenceProvider = AbstractResourcePreferenceProvider = tslib_1.__decorate([
205
+ (0, inversify_1.injectable)()
206
+ ], AbstractResourcePreferenceProvider);
207
+ //# sourceMappingURL=abstract-resource-preference-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-resource-preference-provider.js","sourceRoot":"","sources":["../../src/common/abstract-resource-preference-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abstract-resource-preference-provider.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-resource-preference-provider.spec.d.ts","sourceRoot":"","sources":["../../src/common/abstract-resource-preference-provider.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 Ericsson 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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
19
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
20
+ const disableJSDOM = (0, jsdom_1.enableJSDOM)();
21
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
22
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
23
+ const chai_1 = require("chai");
24
+ const inversify_1 = require("@theia/core/shared/inversify");
25
+ const abstract_resource_preference_provider_1 = require("./abstract-resource-preference-provider");
26
+ const frontend_application_bindings_1 = require("@theia/core/lib/browser/frontend-application-bindings");
27
+ const test_1 = require("@theia/core/lib/browser/preferences/test");
28
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
29
+ const common_1 = require("@theia/core/lib/common");
30
+ const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
31
+ const browser_1 = require("@theia/editor/lib/browser");
32
+ const preference_transaction_manager_1 = require("../browser/preference-transaction-manager");
33
+ disableJSDOM();
34
+ class MockPreferenceStorage {
35
+ constructor() {
36
+ this.onDidChangeFileContent = common_1.Listener.None;
37
+ this.releaseContent = new promise_util_1.Deferred();
38
+ }
39
+ writeValue(key, path, value) {
40
+ throw new Error('Method not implemented.');
41
+ }
42
+ dispose() { }
43
+ async read() {
44
+ await this.releaseContent.promise;
45
+ return JSON.stringify({ 'editor.fontSize': 20 });
46
+ }
47
+ }
48
+ const mockSchemaProvider = { getSchemaProperty: () => undefined };
49
+ class LessAbstractPreferenceProvider extends abstract_resource_preference_provider_1.AbstractResourcePreferenceProvider {
50
+ getUri() { }
51
+ getScope() { }
52
+ }
53
+ describe('AbstractResourcePreferenceProvider', () => {
54
+ let provider;
55
+ let preferenceStorage;
56
+ beforeEach(() => {
57
+ preferenceStorage = new MockPreferenceStorage();
58
+ const testContainer = new inversify_1.Container();
59
+ (0, frontend_application_bindings_1.bindPreferenceService)(testContainer.bind.bind(testContainer));
60
+ (0, test_1.bindMockPreferenceProviders)(testContainer.bind.bind(testContainer), testContainer.unbind.bind(testContainer));
61
+ testContainer.rebind(common_1.PreferenceSchemaService).toConstantValue(mockSchemaProvider);
62
+ testContainer.bind(abstract_resource_preference_provider_1.PreferenceStorageFactory).toFactory(() => () => preferenceStorage);
63
+ testContainer.bind(common_1.MessageService).toConstantValue(undefined);
64
+ testContainer.bind(monaco_workspace_1.MonacoWorkspace).toConstantValue(undefined);
65
+ testContainer.bind(browser_1.EditorManager).toConstantValue(undefined);
66
+ testContainer.bind(preference_transaction_manager_1.PreferenceTransactionFactory).toConstantValue(undefined);
67
+ provider = testContainer.resolve(LessAbstractPreferenceProvider);
68
+ });
69
+ it('should not store any preferences before it is ready.', async () => {
70
+ const resolveWhenFinished = new promise_util_1.Deferred();
71
+ const errorIfReadyFirst = provider.ready.then(() => Promise.reject());
72
+ (0, chai_1.expect)(provider.get('editor.fontSize')).to.be.undefined;
73
+ resolveWhenFinished.resolve();
74
+ preferenceStorage.releaseContent.resolve(); // Allow the initialization to run
75
+ // This promise would reject if the provider had declared itself ready before we resolve `resolveWhenFinished`
76
+ await Promise.race([resolveWhenFinished.promise, errorIfReadyFirst]);
77
+ });
78
+ it('should report values in file when `ready` resolves.', async () => {
79
+ preferenceStorage.releaseContent.resolve();
80
+ await provider.ready;
81
+ (0, chai_1.expect)(provider.get('editor.fontSize')).to.equal(20); // The value provided by the mock FileService implementation.
82
+ });
83
+ });
84
+ //# sourceMappingURL=abstract-resource-preference-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-resource-preference-provider.spec.js","sourceRoot":"","sources":["../../src/common/abstract-resource-preference-provider.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const CliPreferences: unique symbol;
2
+ export declare const CliPreferencesPath = "/services/cli-preferences";
3
+ export interface CliPreferences {
4
+ getPreferences(): Promise<[string, unknown][]>;
5
+ }
6
+ //# sourceMappingURL=cli-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-preferences.d.ts","sourceRoot":"","sources":["../../src/common/cli-preferences.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC3B,cAAc,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CAClD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 Typefox 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.CliPreferencesPath = exports.CliPreferences = void 0;
19
+ exports.CliPreferences = Symbol('CliPreferences');
20
+ exports.CliPreferencesPath = '/services/cli-preferences';
21
+ //# sourceMappingURL=cli-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-preferences.js","sourceRoot":"","sources":["../../src/common/cli-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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;;;AAEnE,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC1C,QAAA,kBAAkB,GAAG,2BAA2B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as jsoncparser from 'jsonc-parser';
2
+ import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
3
+ import { PreferenceService } from '@theia/core';
4
+ export declare class JSONCEditor {
5
+ protected readonly preferenceService: PreferenceService;
6
+ setValue(model: string, path: jsoncparser.JSONPath, value: JSONValue): string;
7
+ protected getEditOperations(content: string, path: jsoncparser.JSONPath, value: JSONValue): jsoncparser.Edit[];
8
+ getEOL(): string;
9
+ }
10
+ //# sourceMappingURL=jsonc-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonc-editor.d.ts","sourceRoot":"","sources":["../../src/common/jsonc-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAa,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE3D,qBACa,WAAW;IAEpB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM;IAK7E,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE;IA0B9G,MAAM,IAAI,MAAM;CAOnB"}