@theia/preferences 1.65.0-next.6 → 1.65.1
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.
- package/lib/browser/folder-preference-provider.d.ts +4 -2
- package/lib/browser/folder-preference-provider.d.ts.map +1 -1
- package/lib/browser/folder-preference-provider.js +9 -4
- package/lib/browser/folder-preference-provider.js.map +1 -1
- package/lib/browser/folders-preferences-provider.d.ts +2 -3
- package/lib/browser/folders-preferences-provider.d.ts.map +1 -1
- package/lib/browser/folders-preferences-provider.js +7 -8
- package/lib/browser/folders-preferences-provider.js.map +1 -1
- package/lib/browser/frontend-preference-storage.d.ts +20 -0
- package/lib/browser/frontend-preference-storage.d.ts.map +1 -0
- package/lib/browser/frontend-preference-storage.js +63 -0
- package/lib/browser/frontend-preference-storage.js.map +1 -0
- package/lib/browser/index.d.ts +0 -3
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +0 -3
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/monaco-jsonc-editor.js +2 -2
- package/lib/browser/monaco-jsonc-editor.js.map +1 -1
- package/lib/browser/preference-bindings.d.ts +0 -1
- package/lib/browser/preference-bindings.d.ts.map +1 -1
- package/lib/browser/preference-bindings.js +13 -28
- package/lib/browser/preference-bindings.js.map +1 -1
- package/lib/browser/preference-frontend-contribution.d.ts +1 -1
- package/lib/browser/preference-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/preference-frontend-contribution.js +3 -3
- package/lib/browser/preference-frontend-contribution.js.map +1 -1
- package/lib/browser/preference-frontend-module.d.ts.map +1 -1
- package/lib/browser/preference-frontend-module.js +4 -0
- package/lib/browser/preference-frontend-module.js.map +1 -1
- package/lib/browser/preference-transaction-manager.d.ts +4 -7
- package/lib/browser/preference-transaction-manager.d.ts.map +1 -1
- package/lib/browser/preference-transaction-manager.js +8 -11
- package/lib/browser/preference-transaction-manager.js.map +1 -1
- package/lib/browser/preference-tree-model.d.ts +4 -6
- package/lib/browser/preference-tree-model.d.ts.map +1 -1
- package/lib/browser/preference-tree-model.js +4 -4
- package/lib/browser/preference-tree-model.js.map +1 -1
- package/lib/browser/preferences-contribution.d.ts +2 -5
- package/lib/browser/preferences-contribution.d.ts.map +1 -1
- package/lib/browser/preferences-contribution.js +7 -17
- package/lib/browser/preferences-contribution.js.map +1 -1
- package/lib/browser/preferences-json-schema-contribution.d.ts +2 -6
- package/lib/browser/preferences-json-schema-contribution.d.ts.map +1 -1
- package/lib/browser/preferences-json-schema-contribution.js +30 -35
- package/lib/browser/preferences-json-schema-contribution.js.map +1 -1
- package/lib/browser/util/preference-scope-command-manager.d.ts.map +1 -1
- package/lib/browser/util/preference-scope-command-manager.js +1 -1
- package/lib/browser/util/preference-scope-command-manager.js.map +1 -1
- package/lib/browser/util/preference-tree-generator.d.ts +3 -4
- package/lib/browser/util/preference-tree-generator.d.ts.map +1 -1
- package/lib/browser/util/preference-tree-generator.js +10 -14
- package/lib/browser/util/preference-tree-generator.js.map +1 -1
- package/lib/browser/util/preference-types.d.ts +2 -2
- package/lib/browser/util/preference-types.d.ts.map +1 -1
- package/lib/browser/util/preference-types.js +4 -4
- package/lib/browser/util/preference-types.js.map +1 -1
- package/lib/browser/views/components/preference-node-renderer.d.ts +7 -2
- package/lib/browser/views/components/preference-node-renderer.d.ts.map +1 -1
- package/lib/browser/views/components/preference-node-renderer.js +19 -12
- package/lib/browser/views/components/preference-node-renderer.js.map +1 -1
- package/lib/browser/views/components/preference-select-input.d.ts.map +1 -1
- package/lib/browser/views/components/preference-select-input.js +6 -9
- package/lib/browser/views/components/preference-select-input.js.map +1 -1
- package/lib/browser/views/preference-editor-widget.d.ts +3 -2
- package/lib/browser/views/preference-editor-widget.d.ts.map +1 -1
- package/lib/browser/views/preference-editor-widget.js +3 -3
- package/lib/browser/views/preference-editor-widget.js.map +1 -1
- package/lib/browser/views/preference-scope-tabbar-widget.d.ts +2 -2
- package/lib/browser/views/preference-scope-tabbar-widget.d.ts.map +1 -1
- package/lib/browser/views/preference-scope-tabbar-widget.js +7 -7
- package/lib/browser/views/preference-scope-tabbar-widget.js.map +1 -1
- package/lib/browser/views/preference-widget.d.ts +2 -1
- package/lib/browser/views/preference-widget.d.ts.map +1 -1
- package/lib/browser/views/preference-widget.js.map +1 -1
- package/lib/browser/workspace-file-preference-provider.d.ts +2 -2
- package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -1
- package/lib/browser/workspace-file-preference-provider.js +2 -2
- package/lib/browser/workspace-file-preference-provider.js.map +1 -1
- package/lib/browser/workspace-preference-provider.d.ts +13 -6
- package/lib/browser/workspace-preference-provider.d.ts.map +1 -1
- package/lib/browser/workspace-preference-provider.js +27 -17
- package/lib/browser/workspace-preference-provider.js.map +1 -1
- package/lib/common/abstract-resource-preference-provider.d.ts +69 -0
- package/lib/common/abstract-resource-preference-provider.d.ts.map +1 -0
- package/lib/{browser → common}/abstract-resource-preference-provider.js +36 -62
- package/lib/common/abstract-resource-preference-provider.js.map +1 -0
- package/lib/common/abstract-resource-preference-provider.spec.d.ts.map +1 -0
- package/lib/{browser → common}/abstract-resource-preference-provider.spec.js +17 -17
- package/lib/common/abstract-resource-preference-provider.spec.js.map +1 -0
- package/lib/common/jsonc-editor.d.ts +10 -0
- package/lib/common/jsonc-editor.d.ts.map +1 -0
- package/lib/common/jsonc-editor.js +68 -0
- package/lib/common/jsonc-editor.js.map +1 -0
- package/lib/{browser → common}/section-preference-provider.d.ts +1 -3
- package/lib/common/section-preference-provider.d.ts.map +1 -0
- package/lib/{browser → common}/section-preference-provider.js +3 -8
- package/lib/common/section-preference-provider.js.map +1 -0
- package/lib/{browser → common}/user-configs-preference-provider.d.ts +6 -5
- package/lib/common/user-configs-preference-provider.d.ts.map +1 -0
- package/lib/{browser → common}/user-configs-preference-provider.js +17 -13
- package/lib/common/user-configs-preference-provider.js.map +1 -0
- package/lib/{browser → common}/user-preference-provider.d.ts +1 -1
- package/lib/common/user-preference-provider.d.ts.map +1 -0
- package/lib/{browser → common}/user-preference-provider.js +2 -2
- package/lib/common/user-preference-provider.js.map +1 -0
- package/lib/node/backend-preference-storage.d.ts +34 -0
- package/lib/node/backend-preference-storage.d.ts.map +1 -0
- package/lib/node/backend-preference-storage.js +100 -0
- package/lib/node/backend-preference-storage.js.map +1 -0
- package/lib/node/preference-backend-module.d.ts.map +1 -1
- package/lib/node/preference-backend-module.js +9 -0
- package/lib/node/preference-backend-module.js.map +1 -1
- package/lib/node/preference-bindings.d.ts +3 -0
- package/lib/node/preference-bindings.d.ts.map +1 -0
- package/lib/node/preference-bindings.js +33 -0
- package/lib/node/preference-bindings.js.map +1 -0
- package/package.json +9 -9
- package/src/browser/folder-preference-provider.ts +5 -2
- package/src/browser/folders-preferences-provider.ts +4 -5
- package/src/browser/frontend-preference-storage.ts +72 -0
- package/src/browser/index.ts +0 -3
- package/src/browser/monaco-jsonc-editor.ts +2 -2
- package/src/browser/preference-bindings.ts +7 -26
- package/src/browser/preference-frontend-contribution.ts +1 -1
- package/src/browser/preference-frontend-module.ts +10 -0
- package/src/browser/preference-transaction-manager.ts +8 -13
- package/src/browser/preference-tree-model.ts +4 -7
- package/src/browser/preferences-contribution.ts +2 -9
- package/src/browser/preferences-json-schema-contribution.ts +20 -23
- package/src/browser/util/preference-scope-command-manager.ts +2 -2
- package/src/browser/util/preference-tree-generator.ts +8 -12
- package/src/browser/util/preference-types.ts +2 -5
- package/src/browser/views/components/preference-node-renderer.ts +15 -8
- package/src/browser/views/components/preference-select-input.ts +6 -9
- package/src/browser/views/preference-editor-widget.ts +2 -5
- package/src/browser/views/preference-scope-tabbar-widget.tsx +2 -2
- package/src/browser/views/preference-widget.tsx +2 -1
- package/src/browser/workspace-file-preference-provider.ts +2 -2
- package/src/browser/workspace-preference-provider.ts +37 -19
- package/src/{browser → common}/abstract-resource-preference-provider.spec.ts +19 -20
- package/src/{browser → common}/abstract-resource-preference-provider.ts +69 -57
- package/src/common/jsonc-editor.ts +65 -0
- package/src/{browser → common}/section-preference-provider.ts +1 -5
- package/src/{browser → common}/user-configs-preference-provider.ts +14 -10
- package/src/{browser → common}/user-preference-provider.ts +1 -1
- package/src/node/backend-preference-storage.ts +117 -0
- package/src/node/preference-backend-module.ts +16 -0
- package/src/node/preference-bindings.ts +31 -0
- package/lib/browser/abstract-resource-preference-provider.d.ts +0 -48
- package/lib/browser/abstract-resource-preference-provider.d.ts.map +0 -1
- package/lib/browser/abstract-resource-preference-provider.js.map +0 -1
- package/lib/browser/abstract-resource-preference-provider.spec.d.ts.map +0 -1
- package/lib/browser/abstract-resource-preference-provider.spec.js.map +0 -1
- package/lib/browser/section-preference-provider.d.ts.map +0 -1
- package/lib/browser/section-preference-provider.js.map +0 -1
- package/lib/browser/user-configs-preference-provider.d.ts.map +0 -1
- package/lib/browser/user-configs-preference-provider.js.map +0 -1
- package/lib/browser/user-preference-provider.d.ts.map +0 -1
- package/lib/browser/user-preference-provider.js.map +0 -1
- /package/lib/{browser → common}/abstract-resource-preference-provider.spec.d.ts +0 -0
|
@@ -20,21 +20,52 @@
|
|
|
20
20
|
import * as jsoncparser from 'jsonc-parser';
|
|
21
21
|
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
22
22
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
23
|
-
import {
|
|
23
|
+
import {
|
|
24
|
+
PreferenceProviderImpl, PreferenceScope, PreferenceProviderDataChange, PreferenceSchemaService,
|
|
25
|
+
PreferenceConfigurations, PreferenceUtils, PreferenceLanguageOverrideService,
|
|
26
|
+
Listener
|
|
27
|
+
} from '@theia/core/lib/common';
|
|
24
28
|
import URI from '@theia/core/lib/common/uri';
|
|
25
|
-
import { PreferenceConfigurations } from '@theia/core/lib/browser/preferences/preference-configurations';
|
|
26
29
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
27
|
-
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
28
|
-
import { PreferenceContext, PreferenceTransaction, PreferenceTransactionFactory } from './preference-transaction-manager';
|
|
29
30
|
import { Emitter, Event } from '@theia/core';
|
|
31
|
+
import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
|
|
32
|
+
export interface FileContentStatus {
|
|
33
|
+
content: string;
|
|
34
|
+
fileOK: boolean
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Abtracts the way to read and write preferences to a given resource
|
|
38
|
+
*/
|
|
39
|
+
export interface PreferenceStorage extends Disposable {
|
|
40
|
+
/**
|
|
41
|
+
* Write a value to the underlying preference store
|
|
42
|
+
* @param key the preference key
|
|
43
|
+
* @param path the path to the JSON object to change
|
|
44
|
+
* @param value the new preference value
|
|
45
|
+
* @returns a promise that will resolve when all "onStored" listeners have finished
|
|
46
|
+
*/
|
|
47
|
+
writeValue(key: string, path: string[], value: JSONValue): Promise<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* List of listeners that will get a string with the newly stored resource content and should return a promise that resolves when
|
|
50
|
+
* they are done with their processing
|
|
51
|
+
*/
|
|
52
|
+
onDidChangeFileContent: Listener.Registration<FileContentStatus, Promise<boolean>>;
|
|
53
|
+
/**
|
|
54
|
+
* Reds the content of the underlying resource
|
|
55
|
+
*/
|
|
56
|
+
read(): Promise<string>;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export const PreferenceStorageFactory = Symbol('PreferenceStorageFactory');
|
|
60
|
+
export type PreferenceStorageFactory = (uri: URI, scope: PreferenceScope) => PreferenceStorage;
|
|
30
61
|
|
|
31
62
|
@injectable()
|
|
32
|
-
export abstract class AbstractResourcePreferenceProvider extends
|
|
63
|
+
export abstract class AbstractResourcePreferenceProvider extends PreferenceProviderImpl {
|
|
64
|
+
protected preferenceStorage: PreferenceStorage;
|
|
33
65
|
|
|
34
66
|
protected preferences: Record<string, any> = {};
|
|
35
67
|
protected _fileExists = false;
|
|
36
68
|
protected readonly loading = new Deferred();
|
|
37
|
-
protected transaction: PreferenceTransaction | undefined;
|
|
38
69
|
protected readonly onDidChangeValidityEmitter = new Emitter<boolean>();
|
|
39
70
|
|
|
40
71
|
set fileExists(exists: boolean) {
|
|
@@ -48,10 +79,14 @@ export abstract class AbstractResourcePreferenceProvider extends PreferenceProvi
|
|
|
48
79
|
return this.onDidChangeValidityEmitter.event;
|
|
49
80
|
}
|
|
50
81
|
|
|
51
|
-
@inject(
|
|
52
|
-
|
|
53
|
-
@inject(
|
|
54
|
-
|
|
82
|
+
@inject(PreferenceSchemaService)
|
|
83
|
+
protected readonly schemaProvider: PreferenceSchemaService;
|
|
84
|
+
@inject(PreferenceConfigurations)
|
|
85
|
+
protected readonly configurations: PreferenceConfigurations;
|
|
86
|
+
@inject(PreferenceLanguageOverrideService)
|
|
87
|
+
protected readonly preferenceOverrideService: PreferenceLanguageOverrideService;
|
|
88
|
+
@inject(PreferenceStorageFactory)
|
|
89
|
+
protected readonly preferenceStorageFactory: PreferenceStorageFactory;
|
|
55
90
|
|
|
56
91
|
@postConstruct()
|
|
57
92
|
protected init(): void {
|
|
@@ -61,17 +96,19 @@ export abstract class AbstractResourcePreferenceProvider extends PreferenceProvi
|
|
|
61
96
|
protected async doInit(): Promise<void> {
|
|
62
97
|
const uri = this.getUri();
|
|
63
98
|
this.toDispose.push(Disposable.create(() => this.loading.reject(new Error(`Preference provider for '${uri}' was disposed.`))));
|
|
99
|
+
|
|
100
|
+
this.preferenceStorage = this.preferenceStorageFactory(uri, this.getScope());
|
|
101
|
+
this.preferenceStorage.onDidChangeFileContent(async ({ content, fileOK }) => {
|
|
102
|
+
this.fileExists = fileOK;
|
|
103
|
+
this.readPreferencesFromContent(content);
|
|
104
|
+
await this.fireDidPreferencesChanged(); // Ensure all consumers of the event have received it.¨
|
|
105
|
+
return true;
|
|
106
|
+
});
|
|
64
107
|
await this.readPreferencesFromFile();
|
|
65
108
|
this._ready.resolve();
|
|
66
109
|
this.loading.resolve();
|
|
67
|
-
|
|
110
|
+
|
|
68
111
|
this.toDispose.pushAll([
|
|
69
|
-
this.fileService.watch(storageUri),
|
|
70
|
-
this.fileService.onDidFilesChange(e => {
|
|
71
|
-
if (e.contains(storageUri)) {
|
|
72
|
-
this.readPreferencesFromFile();
|
|
73
|
-
}
|
|
74
|
-
}),
|
|
75
112
|
Disposable.create(() => this.reset()),
|
|
76
113
|
]);
|
|
77
114
|
}
|
|
@@ -116,30 +153,8 @@ export abstract class AbstractResourcePreferenceProvider extends PreferenceProvi
|
|
|
116
153
|
return this.doSetPreference(key, path, value);
|
|
117
154
|
}
|
|
118
155
|
|
|
119
|
-
protected
|
|
120
|
-
|
|
121
|
-
const current = this.transaction;
|
|
122
|
-
this.transaction = this.transactionFactory(this.toFileManager(), current?.result);
|
|
123
|
-
this.transaction.onWillConclude(({ status, waitUntil }) => {
|
|
124
|
-
if (status) {
|
|
125
|
-
waitUntil((async () => {
|
|
126
|
-
await this.readPreferencesFromFile();
|
|
127
|
-
await this.fireDidPreferencesChanged(); // Ensure all consumers of the event have received it.
|
|
128
|
-
})());
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
this.toDispose.push(this.transaction);
|
|
132
|
-
}
|
|
133
|
-
return this.transaction.enqueueAction(key, path, value);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Use this method as intermediary for interactions with actual files.
|
|
138
|
-
* Allows individual providers to modify where they store their files without disrupting the preference system's
|
|
139
|
-
* conventions about scope and file location.
|
|
140
|
-
*/
|
|
141
|
-
protected toFileManager(): PreferenceContext {
|
|
142
|
-
return this;
|
|
156
|
+
protected doSetPreference(key: string, path: string[], value: JSONValue): Promise<boolean> {
|
|
157
|
+
return this.preferenceStorage.writeValue(key, path, value);
|
|
143
158
|
}
|
|
144
159
|
|
|
145
160
|
protected getPath(preferenceName: string): string[] | undefined {
|
|
@@ -150,19 +165,16 @@ export abstract class AbstractResourcePreferenceProvider extends PreferenceProvi
|
|
|
150
165
|
return [preferenceName];
|
|
151
166
|
}
|
|
152
167
|
|
|
153
|
-
protected
|
|
154
|
-
|
|
155
|
-
.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
.
|
|
160
|
-
|
|
161
|
-
return { value: '' };
|
|
162
|
-
});
|
|
163
|
-
this.readPreferencesFromContent(content.value);
|
|
164
|
-
}
|
|
168
|
+
protected readPreferencesFromFile(): Promise<void> {
|
|
169
|
+
return this.preferenceStorage.read().then(value => {
|
|
170
|
+
this.fileExists = true;
|
|
171
|
+
this.readPreferencesFromContent(value);
|
|
172
|
+
}).catch(() => {
|
|
173
|
+
this.fileExists = false;
|
|
174
|
+
this.readPreferencesFromContent('');
|
|
175
|
+
});
|
|
165
176
|
|
|
177
|
+
}
|
|
166
178
|
protected readPreferencesFromContent(content: string): void {
|
|
167
179
|
let preferencesInJson;
|
|
168
180
|
try {
|
|
@@ -192,16 +204,16 @@ export abstract class AbstractResourcePreferenceProvider extends PreferenceProvi
|
|
|
192
204
|
for (const prefName of prefNames.values()) {
|
|
193
205
|
const oldValue = oldPrefs[prefName];
|
|
194
206
|
const newValue = newPrefs[prefName];
|
|
195
|
-
const
|
|
196
|
-
if (
|
|
197
|
-
const scope =
|
|
207
|
+
const schemaProperty = this.schemaProvider.getSchemaProperty(prefName);
|
|
208
|
+
if (schemaProperty) {
|
|
209
|
+
const scope = schemaProperty.scope;
|
|
198
210
|
// do not emit the change event if the change is made out of the defined preference scope
|
|
199
211
|
if (!this.schemaProvider.isValidInScope(prefName, this.getScope())) {
|
|
200
212
|
console.warn(`Preference ${prefName} in ${uri} can only be defined in scopes: ${PreferenceScope.getScopeNames(scope).join(', ')}.`);
|
|
201
213
|
continue;
|
|
202
214
|
}
|
|
203
215
|
}
|
|
204
|
-
if (!
|
|
216
|
+
if (!PreferenceUtils.deepEqual(newValue, oldValue)) {
|
|
205
217
|
prefChanges.push({
|
|
206
218
|
preferenceName: prefName, newValue, oldValue, scope: this.getScope(), domain: this.getDomain()
|
|
207
219
|
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2021 Ericsson and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import * as jsoncparser from 'jsonc-parser';
|
|
18
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
|
+
import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
|
|
20
|
+
import { isWindows, PreferenceService } from '@theia/core';
|
|
21
|
+
|
|
22
|
+
@injectable()
|
|
23
|
+
export class JSONCEditor {
|
|
24
|
+
@inject(PreferenceService)
|
|
25
|
+
protected readonly preferenceService: PreferenceService;
|
|
26
|
+
|
|
27
|
+
setValue(model: string, path: jsoncparser.JSONPath, value: JSONValue): string {
|
|
28
|
+
const edits = this.getEditOperations(model, path, value);
|
|
29
|
+
return jsoncparser.applyEdits(model, edits);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
protected getEditOperations(content: string, path: jsoncparser.JSONPath, value: JSONValue): jsoncparser.Edit[] {
|
|
33
|
+
// Everything is already undefined - no need for changes.
|
|
34
|
+
if (!content && value === undefined) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
// Delete the entire document.
|
|
38
|
+
if (!path.length && value === undefined) {
|
|
39
|
+
return [{
|
|
40
|
+
offset: 0,
|
|
41
|
+
length: content.length,
|
|
42
|
+
content: ''
|
|
43
|
+
}];
|
|
44
|
+
}
|
|
45
|
+
const tabSize = this.preferenceService.get('[json].editor.tabSize', 4);
|
|
46
|
+
const insertSpaces = this.preferenceService.get('[json].editor.insertSpaces', true);
|
|
47
|
+
|
|
48
|
+
const jsonCOptions = {
|
|
49
|
+
formattingOptions: {
|
|
50
|
+
insertSpaces,
|
|
51
|
+
tabSize,
|
|
52
|
+
eol: this.getEOL()
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return jsoncparser.modify(content, path, value, jsonCOptions);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
getEOL(): string {
|
|
59
|
+
const eol = this.preferenceService.get('[json].files.eol');
|
|
60
|
+
if (eol && typeof eol === 'string' && eol !== 'auto') {
|
|
61
|
+
return eol;
|
|
62
|
+
}
|
|
63
|
+
return isWindows ? '\r\n' : '\n';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import URI from '@theia/core/lib/common/uri';
|
|
19
19
|
import { AbstractResourcePreferenceProvider } from './abstract-resource-preference-provider';
|
|
20
|
-
import {
|
|
21
|
-
import { PreferenceConfigurations } from '@theia/core/lib/browser/preferences/preference-configurations';
|
|
20
|
+
import { PreferenceConfigurations } from '@theia/core';
|
|
22
21
|
|
|
23
22
|
export const SectionPreferenceProviderUri = Symbol('SectionPreferenceProviderUri');
|
|
24
23
|
export const SectionPreferenceProviderSection = Symbol('SectionPreferenceProviderSection');
|
|
@@ -29,9 +28,6 @@ export const SectionPreferenceProviderSection = Symbol('SectionPreferenceProvide
|
|
|
29
28
|
*/
|
|
30
29
|
@injectable()
|
|
31
30
|
export abstract class SectionPreferenceProvider extends AbstractResourcePreferenceProvider {
|
|
32
|
-
|
|
33
|
-
@inject(WorkspaceService)
|
|
34
|
-
protected readonly workspaceService: WorkspaceService;
|
|
35
31
|
@inject(SectionPreferenceProviderUri)
|
|
36
32
|
protected readonly uri: URI;
|
|
37
33
|
@inject(SectionPreferenceProviderSection)
|
|
@@ -18,20 +18,23 @@
|
|
|
18
18
|
|
|
19
19
|
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
20
20
|
import URI from '@theia/core/lib/common/uri';
|
|
21
|
-
import {
|
|
22
|
-
import { PreferenceConfigurations } from '@theia/core
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
import { UserPreferenceProvider, UserPreferenceProviderFactory } from '../common/user-preference-provider';
|
|
22
|
+
import { PreferenceProviderImpl, PreferenceConfigurations, PreferenceResolveResult, PreferenceUtils } from '@theia/core';
|
|
23
|
+
|
|
24
|
+
export const UserStorageLocationProvider = Symbol('UserStorageLocationProvider');
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Binds together preference section prefs providers for user-level preferences.
|
|
28
28
|
*/
|
|
29
29
|
@injectable()
|
|
30
|
-
export class UserConfigsPreferenceProvider extends
|
|
30
|
+
export class UserConfigsPreferenceProvider extends PreferenceProviderImpl {
|
|
31
31
|
|
|
32
32
|
@inject(UserPreferenceProviderFactory)
|
|
33
33
|
protected readonly providerFactory: UserPreferenceProviderFactory;
|
|
34
34
|
|
|
35
|
+
@inject(UserStorageLocationProvider)
|
|
36
|
+
private userStorageLocationProvider: () => Promise<URI>;
|
|
37
|
+
|
|
35
38
|
@inject(PreferenceConfigurations)
|
|
36
39
|
protected readonly configurations: PreferenceConfigurations;
|
|
37
40
|
|
|
@@ -43,7 +46,8 @@ export class UserConfigsPreferenceProvider extends PreferenceProvider {
|
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
protected async doInit(): Promise<void> {
|
|
46
|
-
this.
|
|
49
|
+
const userStorageUri = await this.userStorageLocationProvider();
|
|
50
|
+
this.createProviders(userStorageUri);
|
|
47
51
|
|
|
48
52
|
const readyPromises: Promise<void>[] = [];
|
|
49
53
|
for (const provider of this.providers.values()) {
|
|
@@ -52,9 +56,9 @@ export class UserConfigsPreferenceProvider extends PreferenceProvider {
|
|
|
52
56
|
Promise.all(readyPromises).then(() => this._ready.resolve());
|
|
53
57
|
}
|
|
54
58
|
|
|
55
|
-
protected createProviders(): void {
|
|
59
|
+
protected createProviders(userStorageLocation: URI): void {
|
|
56
60
|
for (const configName of [...this.configurations.getSectionNames(), this.configurations.getConfigName()]) {
|
|
57
|
-
const sectionUri =
|
|
61
|
+
const sectionUri = userStorageLocation.resolve(configName + '.json');
|
|
58
62
|
const sectionKey = sectionUri.toString();
|
|
59
63
|
if (!this.providers.has(sectionKey)) {
|
|
60
64
|
const provider = this.createProvider(sectionUri, configName);
|
|
@@ -79,7 +83,7 @@ export class UserConfigsPreferenceProvider extends PreferenceProvider {
|
|
|
79
83
|
const { value, configUri } = provider.resolve<T>(preferenceName, resourceUri);
|
|
80
84
|
if (configUri && value !== undefined) {
|
|
81
85
|
result.configUri = configUri;
|
|
82
|
-
result.value =
|
|
86
|
+
result.value = PreferenceUtils.merge(result.value as any, value as any) as any;
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
return result;
|
|
@@ -89,7 +93,7 @@ export class UserConfigsPreferenceProvider extends PreferenceProvider {
|
|
|
89
93
|
let result = {};
|
|
90
94
|
for (const provider of this.providers.values()) {
|
|
91
95
|
const preferences = provider.getPreferences();
|
|
92
|
-
result =
|
|
96
|
+
result = PreferenceUtils.merge(result, preferences) as any;
|
|
93
97
|
}
|
|
94
98
|
return result;
|
|
95
99
|
}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
import { injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import URI from '@theia/core/lib/common/uri';
|
|
19
|
-
import { PreferenceScope } from '@theia/core/lib/browser';
|
|
20
19
|
import { SectionPreferenceProvider } from './section-preference-provider';
|
|
20
|
+
import { PreferenceScope } from '@theia/core';
|
|
21
21
|
|
|
22
22
|
export const UserPreferenceProviderFactory = Symbol('UserPreferenceProviderFactory');
|
|
23
23
|
export interface UserPreferenceProviderFactory {
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 STMicroelectronics and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { Listener, ListenerList, URI } from '@theia/core';
|
|
18
|
+
import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
|
|
19
|
+
import { FileContentStatus, PreferenceStorage } from '../common/abstract-resource-preference-provider';
|
|
20
|
+
import { EncodingService } from '@theia/core/lib/common/encoding-service';
|
|
21
|
+
import { BinaryBuffer } from '@theia/core/lib/common/buffer';
|
|
22
|
+
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
23
|
+
import debounce = require('@theia/core/shared/lodash.debounce');
|
|
24
|
+
import { JSONCEditor } from '../common/jsonc-editor';
|
|
25
|
+
import { DiskFileSystemProvider } from '@theia/filesystem/lib/node/disk-file-system-provider';
|
|
26
|
+
import { UTF8 } from '@theia/core/lib/common/encodings';
|
|
27
|
+
|
|
28
|
+
interface WriteOperation {
|
|
29
|
+
key: string,
|
|
30
|
+
path: string[],
|
|
31
|
+
value: JSONValue
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class BackendPreferenceStorage implements PreferenceStorage {
|
|
35
|
+
|
|
36
|
+
protected pendingWrites: WriteOperation[] = [];
|
|
37
|
+
protected writeDeferred = new Deferred<boolean>();
|
|
38
|
+
protected writeFile = debounce(() => {
|
|
39
|
+
this.doWrite();
|
|
40
|
+
}, 10);
|
|
41
|
+
|
|
42
|
+
protected currentContent: string | undefined = undefined;
|
|
43
|
+
protected encoding: string = UTF8;
|
|
44
|
+
|
|
45
|
+
constructor(
|
|
46
|
+
protected readonly fileSystem: DiskFileSystemProvider,
|
|
47
|
+
protected readonly uri: URI,
|
|
48
|
+
protected readonly encodingService: EncodingService,
|
|
49
|
+
protected readonly jsonEditor: JSONCEditor) {
|
|
50
|
+
|
|
51
|
+
this.fileSystem.watch(uri, { excludes: [], recursive: false });
|
|
52
|
+
this.fileSystem.onDidChangeFile(events => {
|
|
53
|
+
for (const e of events) {
|
|
54
|
+
if (e.resource.isEqual(uri)) {
|
|
55
|
+
this.read().then(content => this.onDidChangeFileContentListeners.invoke({ content, fileOK: true }, () => { }))
|
|
56
|
+
.catch(() => this.onDidChangeFileContentListeners.invoke({ content: '', fileOK: false }, () => { }));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
writeValue(key: string, path: string[], value: JSONValue): Promise<boolean> {
|
|
63
|
+
this.pendingWrites.push({
|
|
64
|
+
key, path, value
|
|
65
|
+
});
|
|
66
|
+
return this.waitForWrite();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
waitForWrite(): Promise<boolean> {
|
|
70
|
+
const result = this.writeDeferred.promise;
|
|
71
|
+
this.writeFile();
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async doWrite(): Promise<void> {
|
|
76
|
+
try {
|
|
77
|
+
if (this.currentContent === undefined) {
|
|
78
|
+
await this.read();
|
|
79
|
+
}
|
|
80
|
+
let newContent = this.currentContent || '';
|
|
81
|
+
for (const op of this.pendingWrites) {
|
|
82
|
+
newContent = this.jsonEditor.setValue(newContent, op.path, op.value);
|
|
83
|
+
}
|
|
84
|
+
await this.fileSystem.writeFile(this.uri, this.encodingService.encode(newContent, {
|
|
85
|
+
encoding: this.encoding,
|
|
86
|
+
hasBOM: false
|
|
87
|
+
}).buffer, {
|
|
88
|
+
create: true,
|
|
89
|
+
overwrite: true
|
|
90
|
+
});
|
|
91
|
+
this.currentContent = newContent;
|
|
92
|
+
this.pendingWrites = [];
|
|
93
|
+
await Listener.await({ content: newContent, fileOK: true }, this.onDidChangeFileContentListeners);
|
|
94
|
+
this.writeDeferred.resolve(true);
|
|
95
|
+
} catch (e) {
|
|
96
|
+
this.currentContent = undefined;
|
|
97
|
+
console.error(e);
|
|
98
|
+
this.writeDeferred.resolve(false);
|
|
99
|
+
} finally {
|
|
100
|
+
this.writeDeferred = new Deferred();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
protected readonly onDidChangeFileContentListeners = new ListenerList<FileContentStatus, Promise<boolean>>();
|
|
105
|
+
onDidChangeFileContent: Listener.Registration<FileContentStatus, Promise<boolean>> = this.onDidChangeFileContentListeners.registration;
|
|
106
|
+
|
|
107
|
+
async read(): Promise<string> {
|
|
108
|
+
const contents = BinaryBuffer.wrap(await this.fileSystem.readFile(this.uri));
|
|
109
|
+
this.encoding = (await this.encodingService.detectEncoding(contents)).encoding || this.encoding;
|
|
110
|
+
this.currentContent = this.encodingService.decode(contents, this.encoding);
|
|
111
|
+
return this.currentContent;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
dispose(): void {
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
}
|
|
@@ -19,6 +19,13 @@ import { CliContribution } from '@theia/core/lib/node/cli';
|
|
|
19
19
|
import { PreferenceCliContribution } from './preference-cli-contribution';
|
|
20
20
|
import { ConnectionContainerModule } from '@theia/core/lib/node/messaging/connection-container-module';
|
|
21
21
|
import { CliPreferences, CliPreferencesPath } from '../common/cli-preferences';
|
|
22
|
+
import { bindPreferenceProviders } from './preference-bindings';
|
|
23
|
+
import { PreferenceStorageFactory } from '../common/abstract-resource-preference-provider';
|
|
24
|
+
import { PreferenceScope, URI } from '@theia/core';
|
|
25
|
+
import { BackendPreferenceStorage } from './backend-preference-storage';
|
|
26
|
+
import { JSONCEditor } from '../common/jsonc-editor';
|
|
27
|
+
import { EncodingService } from '@theia/core/lib/common/encoding-service';
|
|
28
|
+
import { DiskFileSystemProvider } from '@theia/filesystem/lib/node/disk-file-system-provider';
|
|
22
29
|
|
|
23
30
|
const preferencesConnectionModule = ConnectionContainerModule.create(({ bind, bindBackendService }) => {
|
|
24
31
|
bindBackendService(CliPreferencesPath, CliPreferences);
|
|
@@ -28,6 +35,15 @@ export default new ContainerModule(bind => {
|
|
|
28
35
|
bind(PreferenceCliContribution).toSelf().inSingletonScope();
|
|
29
36
|
bind(CliPreferences).toService(PreferenceCliContribution);
|
|
30
37
|
bind(CliContribution).toService(PreferenceCliContribution);
|
|
38
|
+
bind(JSONCEditor).toSelf().inSingletonScope();
|
|
39
|
+
|
|
40
|
+
bind(PreferenceStorageFactory).toFactory(({ container }) => (uri: URI, scope: PreferenceScope) => new BackendPreferenceStorage(
|
|
41
|
+
container.get(DiskFileSystemProvider),
|
|
42
|
+
uri,
|
|
43
|
+
container.get(EncodingService),
|
|
44
|
+
container.get(JSONCEditor)
|
|
45
|
+
));
|
|
31
46
|
|
|
32
47
|
bind(ConnectionContainerModule).toConstantValue(preferencesConnectionModule);
|
|
48
|
+
bindPreferenceProviders(bind);
|
|
33
49
|
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 STMicroelectronics and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
18
|
+
import { UserPreferenceProvider, UserPreferenceProviderFactory } from '../common/user-preference-provider';
|
|
19
|
+
import { SectionPreferenceProviderUri, SectionPreferenceProviderSection } from '../common/section-preference-provider';
|
|
20
|
+
import { bindFactory, PreferenceProvider, PreferenceScope, URI } from '@theia/core';
|
|
21
|
+
import { UserConfigsPreferenceProvider, UserStorageLocationProvider } from '../common/user-configs-preference-provider';
|
|
22
|
+
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
|
|
23
|
+
|
|
24
|
+
export function bindPreferenceProviders(bind: interfaces.Bind): void {
|
|
25
|
+
bind(UserStorageLocationProvider).toDynamicValue(context => async () => {
|
|
26
|
+
const env: EnvVariablesServer = context.container.get(EnvVariablesServer);
|
|
27
|
+
return new URI(await env.getConfigDirUri());
|
|
28
|
+
});
|
|
29
|
+
bind(PreferenceProvider).to(UserConfigsPreferenceProvider).inSingletonScope().whenTargetNamed(PreferenceScope.User);
|
|
30
|
+
bindFactory(bind, UserPreferenceProviderFactory, UserPreferenceProvider, SectionPreferenceProviderUri, SectionPreferenceProviderSection);
|
|
31
|
+
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { PreferenceProvider, PreferenceSchemaProvider, PreferenceScope } from '@theia/core/lib/browser';
|
|
2
|
-
import URI from '@theia/core/lib/common/uri';
|
|
3
|
-
import { PreferenceConfigurations } from '@theia/core/lib/browser/preferences/preference-configurations';
|
|
4
|
-
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
5
|
-
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
6
|
-
import { PreferenceContext, PreferenceTransaction, PreferenceTransactionFactory } from './preference-transaction-manager';
|
|
7
|
-
import { Emitter, Event } from '@theia/core';
|
|
8
|
-
export declare abstract class AbstractResourcePreferenceProvider extends PreferenceProvider {
|
|
9
|
-
protected preferences: Record<string, any>;
|
|
10
|
-
protected _fileExists: boolean;
|
|
11
|
-
protected readonly loading: Deferred<void>;
|
|
12
|
-
protected transaction: PreferenceTransaction | undefined;
|
|
13
|
-
protected readonly onDidChangeValidityEmitter: Emitter<boolean>;
|
|
14
|
-
set fileExists(exists: boolean);
|
|
15
|
-
get onDidChangeValidity(): Event<boolean>;
|
|
16
|
-
protected readonly transactionFactory: PreferenceTransactionFactory;
|
|
17
|
-
protected readonly schemaProvider: PreferenceSchemaProvider;
|
|
18
|
-
protected readonly fileService: FileService;
|
|
19
|
-
protected readonly configurations: PreferenceConfigurations;
|
|
20
|
-
protected init(): void;
|
|
21
|
-
protected doInit(): Promise<void>;
|
|
22
|
-
protected abstract getUri(): URI;
|
|
23
|
-
abstract getScope(): PreferenceScope;
|
|
24
|
-
get valid(): boolean;
|
|
25
|
-
getConfigUri(): URI;
|
|
26
|
-
getConfigUri(resourceUri: string | undefined): URI | undefined;
|
|
27
|
-
contains(resourceUri: string | undefined): boolean;
|
|
28
|
-
getPreferences(resourceUri?: string): {
|
|
29
|
-
[key: string]: any;
|
|
30
|
-
};
|
|
31
|
-
setPreference(key: string, value: any, resourceUri?: string): Promise<boolean>;
|
|
32
|
-
protected doSetPreference(key: string, path: string[], value: unknown): Promise<boolean>;
|
|
33
|
-
/**
|
|
34
|
-
* Use this method as intermediary for interactions with actual files.
|
|
35
|
-
* Allows individual providers to modify where they store their files without disrupting the preference system's
|
|
36
|
-
* conventions about scope and file location.
|
|
37
|
-
*/
|
|
38
|
-
protected toFileManager(): PreferenceContext;
|
|
39
|
-
protected getPath(preferenceName: string): string[] | undefined;
|
|
40
|
-
protected readPreferencesFromFile(): Promise<void>;
|
|
41
|
-
protected readPreferencesFromContent(content: string): void;
|
|
42
|
-
protected parse(content: string): any;
|
|
43
|
-
protected handlePreferenceChanges(newPrefs: {
|
|
44
|
-
[key: string]: any;
|
|
45
|
-
}): void;
|
|
46
|
-
protected reset(): void;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=abstract-resource-preference-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-resource-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,eAAe,EAAgC,MAAM,yBAAyB,CAAC;AACtI,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAC1H,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7C,8BACsB,kCAAmC,SAAQ,kBAAkB;IAE/E,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAChD,SAAS,CAAC,WAAW,UAAS;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAkB;IAC5C,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,0BAA0B,mBAA0B;IAEvE,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,EAK7B;IAED,IAAI,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,CAExC;IAEqC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;IACxE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IACzE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAG9F,SAAS,CAAC,IAAI,IAAI,IAAI;cAIN,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBvC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG;IAChC,QAAQ,CAAC,QAAQ,IAAI,eAAe;IAEpC,IAAI,KAAK,IAAI,OAAO,CAEnB;IAEQ,YAAY,IAAI,GAAG;IACnB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS;IAQvE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAYlD,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAItD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAQpE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB9F;;;;OAIG;IACH,SAAS,CAAC,aAAa,IAAI,iBAAiB;IAI5C,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;cAQ/C,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxD,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW3D,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IASrC,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;IA8BzE,SAAS,CAAC,KAAK,IAAI,IAAI;CAgB1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-resource-preference-provider.js","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-resource-preference-provider.spec.d.ts","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-resource-preference-provider.spec.js","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"section-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/section-preference-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAEzG,eAAO,MAAM,4BAA4B,eAAyC,CAAC;AACnF,eAAO,MAAM,gCAAgC,eAA6C,CAAC;AAE3F;;;GAGG;AACH,8BACsB,yBAA0B,SAAQ,kCAAkC;IAGtF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAE5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,OAAO,CAAC,UAAU,CAAC,CAAU;IAE7B,OAAO,KAAK,SAAS,GAKpB;IAED,SAAS,CAAC,MAAM,IAAI,GAAG;cAIJ,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;cAgB3B,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;CAY3E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"section-preference-provider.js","sourceRoot":"","sources":["../../src/browser/section-preference-provider.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,4DAAkE;AAClE,oDAA6C;AAC7C,mGAA6F;AAC7F,sFAAkF;AAClF,6GAAyG;AAE5F,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AACtE,QAAA,gCAAgC,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE3F;;;GAGG;AAEI,IAAe,yBAAyB,GAAxC,MAAe,yBAA0B,SAAQ,0EAAkC;IAatF,IAAY,SAAS;QACjB,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,8DAA8D;IAC3C,KAAK,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,MAAM,GAA6B,EAExC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEkB,OAAO,CAAC,cAAsB;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,cAAc,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AApDqB,8DAAyB;AAGxB;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;mEAAC;AAEnC;IADlB,IAAA,kBAAM,EAAC,oCAA4B,CAAC;sCACb,aAAG;sDAAC;AAET;IADlB,IAAA,kBAAM,EAAC,wCAAgC,CAAC;;0DACN;AAEhB;IADlB,IAAA,kBAAM,EAAC,oDAAwB,CAAC;sCACY,oDAAwB;2EAAC;oCATpD,yBAAyB;IAD9C,IAAA,sBAAU,GAAE;GACS,yBAAyB,CAoD9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-configs-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/user-configs-preference-provider.ts"],"names":[],"mappings":"AAmBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAEzG,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAEnG;;GAEG;AACH,qBACa,6BAA8B,SAAQ,kBAAkB;IAGjE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,6BAA6B,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,SAAS,sCAA6C;IAGzE,SAAS,CAAC,IAAI,IAAI,IAAI;cAIN,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,SAAS,CAAC,eAAe,IAAI,IAAI;IAWxB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,MAA4C,GAAG,GAAG,GAAG,SAAS;IAU9G,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAY7F,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IASpD,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB/F,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB;CAMlF"}
|