@theia/preferences 1.22.0-next.6 → 1.22.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 (40) hide show
  1. package/lib/browser/abstract-resource-preference-provider.d.ts +12 -48
  2. package/lib/browser/abstract-resource-preference-provider.d.ts.map +1 -1
  3. package/lib/browser/abstract-resource-preference-provider.js +52 -186
  4. package/lib/browser/abstract-resource-preference-provider.js.map +1 -1
  5. package/lib/browser/abstract-resource-preference-provider.spec.js +4 -15
  6. package/lib/browser/abstract-resource-preference-provider.spec.js.map +1 -1
  7. package/lib/browser/folder-preference-provider.d.ts +1 -1
  8. package/lib/browser/folder-preference-provider.d.ts.map +1 -1
  9. package/lib/browser/folder-preference-provider.js.map +1 -1
  10. package/lib/browser/monaco-jsonc-editor.d.ts +24 -0
  11. package/lib/browser/monaco-jsonc-editor.d.ts.map +1 -0
  12. package/lib/browser/monaco-jsonc-editor.js +80 -0
  13. package/lib/browser/monaco-jsonc-editor.js.map +1 -0
  14. package/lib/browser/preference-frontend-module.d.ts.map +1 -1
  15. package/lib/browser/preference-frontend-module.js +9 -0
  16. package/lib/browser/preference-frontend-module.js.map +1 -1
  17. package/lib/browser/preference-transaction-manager.d.ts +107 -0
  18. package/lib/browser/preference-transaction-manager.d.ts.map +1 -0
  19. package/lib/browser/preference-transaction-manager.js +248 -0
  20. package/lib/browser/preference-transaction-manager.js.map +1 -0
  21. package/lib/browser/user-preference-provider.d.ts +1 -1
  22. package/lib/browser/user-preference-provider.d.ts.map +1 -1
  23. package/lib/browser/user-preference-provider.js.map +1 -1
  24. package/lib/browser/views/components/preference-node-renderer.d.ts +6 -6
  25. package/lib/browser/views/components/preference-node-renderer.d.ts.map +1 -1
  26. package/lib/browser/views/components/preference-node-renderer.js +46 -52
  27. package/lib/browser/views/components/preference-node-renderer.js.map +1 -1
  28. package/lib/browser/workspace-file-preference-provider.d.ts +1 -1
  29. package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -1
  30. package/lib/browser/workspace-file-preference-provider.js.map +1 -1
  31. package/package.json +9 -9
  32. package/src/browser/abstract-resource-preference-provider.spec.ts +4 -16
  33. package/src/browser/abstract-resource-preference-provider.ts +57 -207
  34. package/src/browser/folder-preference-provider.ts +1 -1
  35. package/src/browser/monaco-jsonc-editor.ts +66 -0
  36. package/src/browser/preference-frontend-module.ts +10 -0
  37. package/src/browser/preference-transaction-manager.ts +242 -0
  38. package/src/browser/user-preference-provider.ts +1 -1
  39. package/src/browser/views/components/preference-node-renderer.ts +59 -66
  40. package/src/browser/workspace-file-preference-provider.ts +1 -1
@@ -13,51 +13,29 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- /// <reference types="@theia/monaco-editor-core/monaco" />
17
- import { Mutex, MutexInterface } from 'async-mutex';
18
- import { MessageService } from '@theia/core/lib/common/message-service';
19
16
  import { PreferenceProvider, PreferenceSchemaProvider, PreferenceScope } from '@theia/core/lib/browser';
20
17
  import URI from '@theia/core/lib/common/uri';
21
18
  import { PreferenceConfigurations } from '@theia/core/lib/browser/preferences/preference-configurations';
22
- import { MonacoTextModelService } from '@theia/monaco/lib/browser/monaco-text-model-service';
23
- import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
24
- import { MonacoWorkspace } from '@theia/monaco/lib/browser/monaco-workspace';
25
19
  import { Deferred } from '@theia/core/lib/common/promise-util';
26
20
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
27
- import { EditorManager } from '@theia/editor/lib/browser';
28
- export interface FilePreferenceProviderLocks {
29
- /**
30
- * Defined if the current operation is the first operation in a new transaction.
31
- * The first operation is responsible for checking whether the underlying editor is dirty
32
- * and for saving the file when the transaction is complete.
33
- */
34
- releaseTransaction?: MutexInterface.Releaser | undefined;
35
- /**
36
- * A lock on the queue for single operations.
37
- */
38
- releaseChange: MutexInterface.Releaser;
39
- }
21
+ import { PreferenceTransaction, PreferenceTransactionFactory } from './preference-transaction-manager';
22
+ import { Emitter, Event } from '@theia/core';
40
23
  export declare abstract class AbstractResourcePreferenceProvider extends PreferenceProvider {
41
- protected preferences: {
42
- [key: string]: any;
43
- };
44
- protected model: MonacoEditorModel | undefined;
24
+ protected preferences: Record<string, any>;
25
+ protected _fileExists: boolean;
45
26
  protected readonly loading: Deferred<void>;
46
- protected modelInitialized: boolean;
47
- protected readonly singleChangeLock: Mutex;
48
- protected readonly transactionLock: Mutex;
49
- protected pendingTransaction: Deferred<boolean>;
50
- protected readonly messageService: MessageService;
27
+ protected transaction: PreferenceTransaction | undefined;
28
+ protected readonly onDidChangeValidityEmitter: Emitter<boolean>;
29
+ set fileExists(exists: boolean);
30
+ get onDidChangeValidity(): Event<boolean>;
31
+ protected readonly transactionFactory: PreferenceTransactionFactory;
51
32
  protected readonly schemaProvider: PreferenceSchemaProvider;
52
33
  protected readonly fileService: FileService;
53
- protected readonly editorManager: EditorManager;
54
34
  protected readonly configurations: PreferenceConfigurations;
55
- protected readonly textModelService: MonacoTextModelService;
56
- protected readonly workspace: MonacoWorkspace;
57
35
  protected init(): Promise<void>;
58
36
  protected abstract getUri(): URI;
59
- protected abstract getScope(): PreferenceScope;
60
- protected get valid(): boolean;
37
+ abstract getScope(): PreferenceScope;
38
+ get valid(): boolean;
61
39
  getConfigUri(): URI;
62
40
  getConfigUri(resourceUri: string | undefined): URI | undefined;
63
41
  contains(resourceUri: string | undefined): boolean;
@@ -65,28 +43,14 @@ export declare abstract class AbstractResourcePreferenceProvider extends Prefere
65
43
  [key: string]: any;
66
44
  };
67
45
  setPreference(key: string, value: any, resourceUri?: string): Promise<boolean>;
68
- /**
69
- * @returns `undefined` if the queue has been cleared by a user action.
70
- */
71
- protected acquireLocks(): Promise<FilePreferenceProviderLocks | undefined>;
72
- protected releaseLocks(locks: FilePreferenceProviderLocks | undefined, shouldSave: boolean): void;
73
- protected getEditOperations(path: string[], value: any): monaco.editor.IIdentifiedSingleEditOperation[];
46
+ protected doSetPreference(key: string, path: string[], value: unknown): Promise<boolean>;
74
47
  protected getPath(preferenceName: string): string[] | undefined;
75
48
  protected readPreferencesFromFile(): Promise<void>;
76
- /**
77
- * It HAS to be sync to ensure that `setPreference` returns only when values are updated
78
- * or any other operation modifying the monaco model content.
79
- */
80
- protected readPreferences(): void;
81
49
  protected readPreferencesFromContent(content: string): void;
82
50
  protected parse(content: string): any;
83
51
  protected handlePreferenceChanges(newPrefs: {
84
52
  [key: string]: any;
85
53
  }): void;
86
54
  protected reset(): void;
87
- /**
88
- * @returns whether the setting operation in progress, and any others started in the meantime, should continue.
89
- */
90
- protected handleDirtyEditor(): Promise<boolean>;
91
55
  }
92
56
  //# sourceMappingURL=abstract-resource-preference-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-resource-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-resource-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAQlF,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,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACvG,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;cAG9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG;IAChC,QAAQ,CAAC,QAAQ,IAAI,eAAe;IAEpC,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,YAAY,IAAI,GAAG;IACnB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS;IAQ9D,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;IAkB9F,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;cAI/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"}
@@ -28,53 +28,50 @@ exports.AbstractResourcePreferenceProvider = void 0;
28
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
29
  /* eslint-disable no-null/no-null */
30
30
  const jsoncparser = require("jsonc-parser");
31
- const async_mutex_1 = require("async-mutex");
32
31
  const inversify_1 = require("@theia/core/shared/inversify");
33
- const message_service_1 = require("@theia/core/lib/common/message-service");
34
32
  const disposable_1 = require("@theia/core/lib/common/disposable");
35
33
  const browser_1 = require("@theia/core/lib/browser");
36
34
  const uri_1 = require("@theia/core/lib/common/uri");
37
35
  const preference_configurations_1 = require("@theia/core/lib/browser/preferences/preference-configurations");
38
- const monaco_text_model_service_1 = require("@theia/monaco/lib/browser/monaco-text-model-service");
39
- const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
40
36
  const promise_util_1 = require("@theia/core/lib/common/promise-util");
41
37
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
38
+ const preference_transaction_manager_1 = require("./preference-transaction-manager");
42
39
  const core_1 = require("@theia/core");
43
- const browser_2 = require("@theia/editor/lib/browser");
44
40
  let AbstractResourcePreferenceProvider = class AbstractResourcePreferenceProvider extends browser_1.PreferenceProvider {
45
41
  constructor() {
46
42
  super(...arguments);
47
43
  this.preferences = {};
44
+ this._fileExists = false;
48
45
  this.loading = new promise_util_1.Deferred();
49
- this.modelInitialized = false;
50
- this.singleChangeLock = new async_mutex_1.Mutex();
51
- this.transactionLock = new async_mutex_1.Mutex();
52
- this.pendingTransaction = new promise_util_1.Deferred();
46
+ this.onDidChangeValidityEmitter = new core_1.Emitter();
47
+ }
48
+ set fileExists(exists) {
49
+ if (exists !== this._fileExists) {
50
+ this._fileExists = exists;
51
+ this.onDidChangeValidityEmitter.fire(exists);
52
+ }
53
+ }
54
+ get onDidChangeValidity() {
55
+ return this.onDidChangeValidityEmitter.event;
53
56
  }
54
57
  async init() {
55
- this.pendingTransaction.resolve(true);
56
58
  const uri = this.getUri();
57
59
  this.toDispose.push(disposable_1.Disposable.create(() => this.loading.reject(new Error(`preference provider for '${uri}' was disposed`))));
58
60
  await this.readPreferencesFromFile();
59
61
  this._ready.resolve();
60
- const reference = await this.textModelService.createModelReference(uri);
61
- if (this.toDispose.disposed) {
62
- reference.dispose();
63
- return;
64
- }
65
- this.model = reference.object;
66
62
  this.loading.resolve();
67
- this.modelInitialized = true;
68
- this.toDispose.push(reference);
69
- this.toDispose.push(disposable_1.Disposable.create(() => this.model = undefined));
70
- this.toDispose.push(this.model.onDidChangeContent(() => !this.transactionLock.isLocked() && this.readPreferences()));
71
- this.toDispose.push(this.model.onDirtyChanged(() => !this.transactionLock.isLocked() && this.readPreferences()));
72
- this.toDispose.push(this.model.onDidChangeValid(() => this.readPreferences()));
73
- this.toDispose.push(disposable_1.Disposable.create(() => this.reset()));
63
+ this.toDispose.pushAll([
64
+ this.fileService.watch(uri),
65
+ this.fileService.onDidFilesChange(e => {
66
+ if (e.contains(uri)) {
67
+ this.readPreferencesFromFile();
68
+ }
69
+ }),
70
+ disposable_1.Disposable.create(() => this.reset()),
71
+ ]);
74
72
  }
75
73
  get valid() {
76
- var _a;
77
- return this.modelInitialized ? !!((_a = this.model) === null || _a === void 0 ? void 0 : _a.valid) : Object.keys(this.preferences).length > 0;
74
+ return this._fileExists;
78
75
  }
79
76
  getConfigUri(resourceUri) {
80
77
  if (!resourceUri) {
@@ -97,145 +94,45 @@ let AbstractResourcePreferenceProvider = class AbstractResourcePreferenceProvide
97
94
  return this.valid && this.contains(resourceUri) ? this.preferences : {};
98
95
  }
99
96
  async setPreference(key, value, resourceUri) {
100
- const locks = await this.acquireLocks();
101
- let shouldSave = Boolean(locks === null || locks === void 0 ? void 0 : locks.releaseTransaction);
102
- try {
103
- await this.loading.promise;
104
- let path;
105
- if (!this.model || !(path = this.getPath(key)) || !this.contains(resourceUri)) {
106
- return false;
107
- }
108
- if (!locks) {
109
- throw new core_1.CancellationError();
110
- }
111
- if (shouldSave) {
112
- if (this.model.dirty) {
113
- shouldSave = await this.handleDirtyEditor();
114
- }
115
- if (!shouldSave) {
116
- throw new core_1.CancellationError();
117
- }
118
- }
119
- const editOperations = this.getEditOperations(path, value);
120
- if (editOperations.length > 0) {
121
- await this.workspace.applyBackgroundEdit(this.model, editOperations, false);
122
- }
123
- return this.pendingTransaction.promise;
124
- }
125
- catch (e) {
126
- if (e instanceof core_1.CancellationError) {
127
- throw e;
128
- }
129
- const message = `Failed to update the value of '${key}' in '${this.getUri()}'.`;
130
- this.messageService.error(`${message} Please check if it is corrupted.`);
131
- console.error(`${message}`, e);
97
+ let path;
98
+ if (this.toDispose.disposed || !(path = this.getPath(key)) || !this.contains(resourceUri)) {
132
99
  return false;
133
100
  }
134
- finally {
135
- this.releaseLocks(locks, shouldSave);
136
- }
101
+ return this.doSetPreference(key, path, value);
137
102
  }
138
- /**
139
- * @returns `undefined` if the queue has been cleared by a user action.
140
- */
141
- async acquireLocks() {
142
- // Request locks immediately
143
- const releaseTransactionPromise = this.transactionLock.isLocked() ? undefined : this.transactionLock.acquire();
144
- const releaseChangePromise = this.singleChangeLock.acquire().catch(() => {
145
- releaseTransactionPromise === null || releaseTransactionPromise === void 0 ? void 0 : releaseTransactionPromise.then(release => release());
146
- return undefined;
147
- });
148
- if (releaseTransactionPromise) {
149
- await this.pendingTransaction.promise; // Ensure previous transaction complete before starting a new one.
150
- this.pendingTransaction = new promise_util_1.Deferred();
151
- }
152
- // Wait to acquire locks
153
- const [releaseTransaction, releaseChange] = await Promise.all([releaseTransactionPromise, releaseChangePromise]);
154
- return releaseChange && { releaseTransaction, releaseChange };
155
- }
156
- releaseLocks(locks, shouldSave) {
157
- if (locks === null || locks === void 0 ? void 0 : locks.releaseTransaction) {
158
- if (shouldSave) {
159
- this.singleChangeLock.waitForUnlock().then(() => this.singleChangeLock.runExclusive(async () => {
160
- var _a;
161
- locks.releaseTransaction(); // Release lock so that no new changes join this transaction.
162
- let success = false;
163
- try {
164
- await ((_a = this.model) === null || _a === void 0 ? void 0 : _a.save());
165
- success = true;
166
- }
167
- finally {
168
- this.readPreferences();
103
+ async doSetPreference(key, path, value) {
104
+ var _a;
105
+ if (!((_a = this.transaction) === null || _a === void 0 ? void 0 : _a.open)) {
106
+ const current = this.transaction;
107
+ this.transaction = this.transactionFactory(this);
108
+ this.transaction.onWillConclude(({ status, waitUntil }) => {
109
+ if (status) {
110
+ waitUntil((async () => {
111
+ await this.readPreferencesFromFile();
169
112
  await this.fireDidPreferencesChanged(); // Ensure all consumers of the event have received it.
170
- this.pendingTransaction.resolve(success);
171
- }
172
- }));
173
- }
174
- else { // User canceled the operation.
175
- this.singleChangeLock.cancel();
176
- locks.releaseTransaction();
177
- this.pendingTransaction.resolve(false);
178
- }
113
+ })());
114
+ }
115
+ });
116
+ this.toDispose.push(this.transaction);
117
+ await (current === null || current === void 0 ? void 0 : current.result);
179
118
  }
180
- locks === null || locks === void 0 ? void 0 : locks.releaseChange();
181
- }
182
- getEditOperations(path, value) {
183
- const textModel = this.model.textEditorModel;
184
- const content = this.model.getText().trim();
185
- // Everything is already undefined - no need for changes.
186
- if (!content && value === undefined) {
187
- return [];
188
- }
189
- // Delete the entire document.
190
- if (!path.length && value === undefined) {
191
- return [{
192
- range: textModel.getFullModelRange(),
193
- text: null,
194
- forceMoveMarkers: false
195
- }];
196
- }
197
- const { insertSpaces, tabSize, defaultEOL } = textModel.getOptions();
198
- const jsonCOptions = {
199
- formattingOptions: {
200
- insertSpaces,
201
- tabSize,
202
- eol: defaultEOL === monaco.editor.DefaultEndOfLine.LF ? '\n' : '\r\n'
203
- }
204
- };
205
- return jsoncparser.modify(content, path, value, jsonCOptions).map(edit => {
206
- const start = textModel.getPositionAt(edit.offset);
207
- const end = textModel.getPositionAt(edit.offset + edit.length);
208
- return {
209
- range: monaco.Range.fromPositions(start, end),
210
- text: edit.content || null,
211
- forceMoveMarkers: false
212
- };
213
- });
119
+ return this.transaction.enqueueAction(key, path, value);
214
120
  }
215
121
  getPath(preferenceName) {
216
122
  return [preferenceName];
217
123
  }
218
124
  async readPreferencesFromFile() {
219
- const content = await this.fileService.read(this.getUri()).catch(() => ({ value: '' }));
125
+ const content = await this.fileService.read(this.getUri())
126
+ .then(value => {
127
+ this.fileExists = true;
128
+ return value;
129
+ })
130
+ .catch(() => {
131
+ this.fileExists = false;
132
+ return { value: '' };
133
+ });
220
134
  this.readPreferencesFromContent(content.value);
221
135
  }
222
- /**
223
- * It HAS to be sync to ensure that `setPreference` returns only when values are updated
224
- * or any other operation modifying the monaco model content.
225
- */
226
- readPreferences() {
227
- const model = this.model;
228
- if (!model || model.dirty) {
229
- return;
230
- }
231
- try {
232
- const content = model.valid ? model.getText() : '';
233
- this.readPreferencesFromContent(content);
234
- }
235
- catch (e) {
236
- console.error(`Failed to load preferences from '${this.getUri()}'.`, e);
237
- }
238
- }
239
136
  readPreferencesFromContent(content) {
240
137
  let preferencesInJson;
241
138
  try {
@@ -299,30 +196,11 @@ let AbstractResourcePreferenceProvider = class AbstractResourcePreferenceProvide
299
196
  this.emitPreferencesChangedEvent(changes);
300
197
  }
301
198
  }
302
- /**
303
- * @returns whether the setting operation in progress, and any others started in the meantime, should continue.
304
- */
305
- async handleDirtyEditor() {
306
- const saveAndRetry = core_1.nls.localizeByDefault('Save and Retry');
307
- const open = core_1.nls.localizeByDefault('Open File');
308
- const msg = await this.messageService.error(core_1.nls.localizeByDefault('Unable to write into {0} settings because the file has unsaved changes. Please save the {0} settings file first and then try again.', core_1.nls.localizeByDefault(browser_1.PreferenceScope[this.getScope()].toLocaleLowerCase())), saveAndRetry, open);
309
- if (this.model) {
310
- if (msg === open) {
311
- this.editorManager.open(new uri_1.default(this.model.uri));
312
- return false;
313
- }
314
- else if (msg === saveAndRetry) {
315
- await this.model.save();
316
- return true;
317
- }
318
- }
319
- return false;
320
- }
321
199
  };
322
200
  __decorate([
323
- inversify_1.inject(message_service_1.MessageService),
324
- __metadata("design:type", message_service_1.MessageService)
325
- ], AbstractResourcePreferenceProvider.prototype, "messageService", void 0);
201
+ inversify_1.inject(preference_transaction_manager_1.PreferenceTransactionFactory),
202
+ __metadata("design:type", Function)
203
+ ], AbstractResourcePreferenceProvider.prototype, "transactionFactory", void 0);
326
204
  __decorate([
327
205
  inversify_1.inject(browser_1.PreferenceSchemaProvider),
328
206
  __metadata("design:type", browser_1.PreferenceSchemaProvider)
@@ -331,22 +209,10 @@ __decorate([
331
209
  inversify_1.inject(file_service_1.FileService),
332
210
  __metadata("design:type", file_service_1.FileService)
333
211
  ], AbstractResourcePreferenceProvider.prototype, "fileService", void 0);
334
- __decorate([
335
- inversify_1.inject(browser_2.EditorManager),
336
- __metadata("design:type", browser_2.EditorManager)
337
- ], AbstractResourcePreferenceProvider.prototype, "editorManager", void 0);
338
212
  __decorate([
339
213
  inversify_1.inject(preference_configurations_1.PreferenceConfigurations),
340
214
  __metadata("design:type", preference_configurations_1.PreferenceConfigurations)
341
215
  ], AbstractResourcePreferenceProvider.prototype, "configurations", void 0);
342
- __decorate([
343
- inversify_1.inject(monaco_text_model_service_1.MonacoTextModelService),
344
- __metadata("design:type", monaco_text_model_service_1.MonacoTextModelService)
345
- ], AbstractResourcePreferenceProvider.prototype, "textModelService", void 0);
346
- __decorate([
347
- inversify_1.inject(monaco_workspace_1.MonacoWorkspace),
348
- __metadata("design:type", monaco_workspace_1.MonacoWorkspace)
349
- ], AbstractResourcePreferenceProvider.prototype, "workspace", void 0);
350
216
  __decorate([
351
217
  inversify_1.postConstruct(),
352
218
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-resource-preference-provider.js","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,uDAAuD;AACvD,oCAAoC;AAEpC,4CAA4C;AAC5C,6CAAoD;AACpD,4DAAiF;AACjF,4EAAwE;AACxE,kEAA+D;AAC/D,qDAAsI;AACtI,oDAA6C;AAC7C,6GAAyG;AACzG,mGAA6F;AAE7F,iFAA6E;AAC7E,sEAA+D;AAC/D,6EAAyE;AACzE,sCAAqD;AACrD,uDAA0D;AAgB1D,IAAsB,kCAAkC,GAAxD,MAAsB,kCAAmC,SAAQ,4BAAkB;IAAnF;;QAEc,gBAAW,GAA2B,EAAE,CAAC;QAEhC,YAAO,GAAG,IAAI,uBAAQ,EAAE,CAAC;QAClC,qBAAgB,GAAG,KAAK,CAAC;QAChB,qBAAgB,GAAG,IAAI,mBAAK,EAAE,CAAC;QAC/B,oBAAe,GAAG,IAAI,mBAAK,EAAE,CAAC;QACvC,uBAAkB,GAAG,IAAI,uBAAQ,EAAW,CAAC;IAmT3D,CAAC;IAlSa,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9H,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzB,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;SACV;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAKD,IAAc,KAAK;;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClG,CAAC;IAID,YAAY,CAAC,WAAoB;QAC7B,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,WAA+B;QACpC,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,IAAI,CAAC;SACf;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,IAAI,CAAC;SACf;QACD,MAAM,YAAY,GAAG,IAAI,aAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,cAAc,CAAC,WAAoB;QAC/B,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,KAAU,EAAE,WAAoB;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,CAAC,CAAC;QACpD,IAAI;YACA,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3B,IAAI,IAA0B,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC3E,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,wBAAiB,EAAE,CAAC;aACjC;YACD,IAAI,UAAU,EAAE;gBACZ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBAClB,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC/C;gBACD,IAAI,CAAC,UAAU,EAAE;oBACb,MAAM,IAAI,wBAAiB,EAAE,CAAC;iBACjC;aACJ;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;aAC/E;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,wBAAiB,EAAE;gBAChC,MAAM,CAAC,CAAC;aACX;YACD,MAAM,OAAO,GAAG,kCAAkC,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YAChF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,mCAAmC,CAAC,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC;SAChB;gBAAS;YACN,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SACxC;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY;QACxB,4BAA4B;QAC5B,MAAM,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/G,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACpE,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;YACtD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,yBAAyB,EAAE;YAC3B,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,kEAAkE;YACzG,IAAI,CAAC,kBAAkB,GAAG,IAAI,uBAAQ,EAAE,CAAC;SAC5C;QACD,wBAAwB;QACxB,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACjH,OAAO,aAAa,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;IAClE,CAAC;IAES,YAAY,CAAC,KAA8C,EAAE,UAAmB;QACtF,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,EAAE;YAC3B,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;;oBAC3F,KAAK,CAAC,kBAAmB,EAAE,CAAC,CAAC,6DAA6D;oBAC1F,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI;wBACA,aAAM,IAAI,CAAC,KAAK,0CAAE,IAAI,GAAE,CAAC;wBACzB,OAAO,GAAG,IAAI,CAAC;qBAClB;4BAAS;wBACN,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,sDAAsD;wBAC9F,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBAC5C;gBACL,CAAC,CAAC,CAAC,CAAC;aACP;iBAAM,EAAE,+BAA+B;gBACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC/B,KAAK,CAAC,kBAAmB,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC1C;SACJ;QACD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,GAAG;IAC3B,CAAC;IAES,iBAAiB,CAAC,IAAc,EAAE,KAAU;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAM,CAAC,eAAe,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,yDAAyD;QACzD,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE;YACjC,OAAO,EAAE,CAAC;SACb;QACD,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YACrC,OAAO,CAAC;oBACJ,KAAK,EAAE,SAAS,CAAC,iBAAiB,EAAE;oBACpC,IAAI,EAAE,IAAI;oBACV,gBAAgB,EAAE,KAAK;iBAC1B,CAAC,CAAC;SACN;QACD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QACrE,MAAM,YAAY,GAAG;YACjB,iBAAiB,EAAE;gBACf,YAAY;gBACZ,OAAO;gBACP,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;aACxE;SACJ,CAAC;QACF,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrE,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,OAAO;gBACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC7C,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;gBAC1B,gBAAgB,EAAE,KAAK;aAC1B,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAES,OAAO,CAAC,cAAsB;QACpC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,uBAAuB;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACO,eAAe;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;YACvB,OAAO;SACV;QACD,IAAI;YACA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;SAC5C;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SAC3E;IACL,CAAC;IAES,0BAA0B,CAAC,OAAe;QAChD,IAAI,iBAAiB,CAAC;QACtB,IAAI;YACA,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC3C;QAAC,WAAM;YACJ,iBAAiB,GAAG,EAAE,CAAC;SAC1B;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,OAAe;QAC3B,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAES,uBAAuB,CAAC,QAAgC;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,WAAW,GAAmC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtF,IAAI,gBAAgB,EAAE;gBAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBACrC,yFAAyF;gBACzF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;oBAChE,OAAO,CAAC,IAAI,CAAC,cAAc,QAAQ,OAAO,GAAG,mCAAmC,yBAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpI,SAAS;iBACZ;aACJ;YACD,IAAI,CAAC,4BAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACnD,WAAW,CAAC,IAAI,CAAC;oBACb,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;iBACjG,CAAC,CAAC;aACN;SACJ;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAES,KAAK;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC;oBACT,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;iBACnH,CAAC,CAAC;aACN;SACJ;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,YAAY,GAAG,UAAG,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,UAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CACvC,UAAG,CAAC,iBAAiB,CAAC,qIAAqI,EACvJ,UAAG,CAAC,iBAAiB,CAAC,yBAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAC9E,EACD,YAAY,EAAE,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,GAAG,KAAK,IAAI,EAAE;gBACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC;aAChB;iBAAM,IAAI,GAAG,KAAK,YAAY,EAAE;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAjT2B;IAAvB,kBAAM,CAAC,gCAAc,CAAC;8BAAoC,gCAAc;0EAAC;AACxC;IAAjC,kBAAM,CAAC,kCAAwB,CAAC;8BAAoC,kCAAwB;0EAAC;AACzE;IAApB,kBAAM,CAAC,0BAAW,CAAC;8BAAiC,0BAAW;uEAAC;AAC1C;IAAtB,kBAAM,CAAC,uBAAa,CAAC;8BAAmC,uBAAa;yEAAC;AAGvE;IADC,kBAAM,CAAC,oDAAwB,CAAC;8BACE,oDAAwB;0EAAC;AAG5D;IADC,kBAAM,CAAC,kDAAsB,CAAC;8BACM,kDAAsB;4EAAC;AAG5D;IADC,kBAAM,CAAC,kCAAe,CAAC;8BACM,kCAAe;qEAAC;AAG9C;IADC,yBAAa,EAAE;;;;8DA0Bf;AAlDiB,kCAAkC;IADvD,sBAAU,EAAE;GACS,kCAAkC,CA2TvD;AA3TqB,gFAAkC"}
1
+ {"version":3,"file":"abstract-resource-preference-provider.js","sourceRoot":"","sources":["../../src/browser/abstract-resource-preference-provider.ts"],"names":[],"mappings":"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"}
@@ -28,35 +28,24 @@ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
28
28
  const frontend_application_bindings_1 = require("@theia/core/lib/browser/frontend-application-bindings");
29
29
  const test_1 = require("@theia/core/lib/browser/preferences/test");
30
30
  const promise_util_1 = require("@theia/core/lib/common/promise-util");
31
- const monaco_text_model_service_1 = require("@theia/monaco/lib/browser/monaco-text-model-service");
32
31
  const common_1 = require("@theia/core/lib/common");
33
32
  const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
34
33
  const browser_1 = require("@theia/core/lib/browser");
35
34
  const browser_2 = require("@theia/editor/lib/browser");
35
+ const preference_transaction_manager_1 = require("./preference-transaction-manager");
36
36
  disableJSDOM();
37
37
  class MockFileService {
38
38
  constructor() {
39
39
  this.releaseContent = new promise_util_1.Deferred();
40
+ this.watch = RETURN_DISPOSABLE;
41
+ this.onDidFilesChange = RETURN_DISPOSABLE;
40
42
  }
41
43
  async read() {
42
44
  await this.releaseContent.promise;
43
45
  return { value: JSON.stringify({ 'editor.fontSize': 20 }) };
44
46
  }
45
47
  }
46
- const DO_NOTHING = () => { };
47
48
  const RETURN_DISPOSABLE = () => common_1.Disposable.NULL;
48
- class MockTextModelService {
49
- createModelReference() {
50
- return {
51
- dispose: DO_NOTHING,
52
- object: {
53
- onDidChangeContent: RETURN_DISPOSABLE,
54
- onDirtyChanged: RETURN_DISPOSABLE,
55
- onDidChangeValid: RETURN_DISPOSABLE,
56
- }
57
- };
58
- }
59
- }
60
49
  const mockSchemaProvider = { getCombinedSchema: () => ({ properties: {} }) };
61
50
  class LessAbstractPreferenceProvider extends abstract_resource_preference_provider_1.AbstractResourcePreferenceProvider {
62
51
  getUri() { }
@@ -72,10 +61,10 @@ describe('AbstractResourcePreferenceProvider', () => {
72
61
  test_1.bindMockPreferenceProviders(testContainer.bind.bind(testContainer), testContainer.unbind.bind(testContainer));
73
62
  testContainer.rebind(browser_1.PreferenceSchemaProvider).toConstantValue(mockSchemaProvider);
74
63
  testContainer.bind(file_service_1.FileService).toConstantValue(fileService);
75
- testContainer.bind(monaco_text_model_service_1.MonacoTextModelService).toConstantValue(new MockTextModelService);
76
64
  testContainer.bind(common_1.MessageService).toConstantValue(undefined);
77
65
  testContainer.bind(monaco_workspace_1.MonacoWorkspace).toConstantValue(undefined);
78
66
  testContainer.bind(browser_2.EditorManager).toConstantValue(undefined);
67
+ testContainer.bind(preference_transaction_manager_1.PreferenceTransactionFactory).toConstantValue(undefined);
79
68
  provider = testContainer.resolve(LessAbstractPreferenceProvider);
80
69
  });
81
70
  it('should not store any preferences before it is ready.', async () => {
@@ -1 +1 @@
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
+ {"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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"}
@@ -32,7 +32,7 @@ export declare class FolderPreferenceProvider extends SectionPreferenceProvider
32
32
  protected readonly folder: FileStat;
33
33
  private _folderUri;
34
34
  get folderUri(): URI;
35
- protected getScope(): PreferenceScope;
35
+ getScope(): PreferenceScope;
36
36
  getDomain(): string[];
37
37
  }
38
38
  //# sourceMappingURL=folder-preference-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/folder-preference-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AACzF,MAAM,WAAW,+BAA+B;IAC5C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,wBAAwB,CAAC;CAC3E;AAED,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,qBACa,wBAAyB,SAAQ,yBAAyB;IAEzC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE5E,OAAO,CAAC,UAAU,CAAM;IAExB,IAAI,SAAS,IAAI,GAAG,CAKnB;IACD,SAAS,CAAC,QAAQ,IAAI,eAAe;IAQrC,SAAS,IAAI,MAAM,EAAE;CAGxB"}
1
+ {"version":3,"file":"folder-preference-provider.d.ts","sourceRoot":"","sources":["../../src/browser/folder-preference-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AACzF,MAAM,WAAW,+BAA+B;IAC5C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,wBAAwB,CAAC;CAC3E;AAED,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,qBACa,wBAAyB,SAAQ,yBAAyB;IAEzC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE5E,OAAO,CAAC,UAAU,CAAM;IAExB,IAAI,SAAS,IAAI,GAAG,CAKnB;IACD,QAAQ,IAAI,eAAe;IAQ3B,SAAS,IAAI,MAAM,EAAE;CAGxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"folder-preference-provider.js","sourceRoot":"","sources":["../../src/browser/folder-preference-provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,4DAAkE;AAElE,qDAA0D;AAC1D,8DAA8D;AAC9D,sFAAkF;AAClF,+EAA0E;AAE7D,QAAA,+BAA+B,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAK5E,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAOvF,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,uDAAyB;IAOnE,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACS,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE;YACnD,+GAA+G;YAC/G,OAAO,yBAAe,CAAC,SAAS,CAAC;SACpC;QACD,OAAO,yBAAe,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,SAAS;QACL,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AAtB6B;IAAzB,kBAAM,CAAC,oCAAgB,CAAC;8BAAsC,oCAAgB;kEAAC;AACxC;IAAvC,kBAAM,CAAC,sCAA8B,CAAC;;wDAAqC;AAHnE,wBAAwB;IADpC,sBAAU,EAAE;GACA,wBAAwB,CAwBpC;AAxBY,4DAAwB"}
1
+ {"version":3,"file":"folder-preference-provider.js","sourceRoot":"","sources":["../../src/browser/folder-preference-provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,4DAAkE;AAElE,qDAA0D;AAC1D,8DAA8D;AAC9D,sFAAkF;AAClF,+EAA0E;AAE7D,QAAA,+BAA+B,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAK5E,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAOvF,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,uDAAyB;IAOnE,IAAI,SAAS;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE;YACnD,+GAA+G;YAC/G,OAAO,yBAAe,CAAC,SAAS,CAAC;SACpC;QACD,OAAO,yBAAe,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,SAAS;QACL,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AAtB6B;IAAzB,kBAAM,CAAC,oCAAgB,CAAC;8BAAsC,oCAAgB;kEAAC;AACxC;IAAvC,kBAAM,CAAC,sCAA8B,CAAC;;wDAAqC;AAHnE,wBAAwB;IADpC,sBAAU,EAAE;GACA,wBAAwB,CAwBpC;AAxBY,4DAAwB"}
@@ -0,0 +1,24 @@
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 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ /// <reference types="@theia/monaco-editor-core/monaco" />
17
+ import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model';
18
+ import { MonacoWorkspace } from '@theia/monaco/lib/browser/monaco-workspace';
19
+ export declare class MonacoJSONCEditor {
20
+ protected readonly workspace: MonacoWorkspace;
21
+ setValue(model: MonacoEditorModel, path: string[], value: unknown, shouldSave?: boolean): Promise<void>;
22
+ getEditOperations(model: MonacoEditorModel, path: string[], value: unknown): monaco.editor.IIdentifiedSingleEditOperation[];
23
+ }
24
+ //# sourceMappingURL=monaco-jsonc-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-jsonc-editor.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-jsonc-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,qBACa,iBAAiB;IACD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAEjE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1G,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;CAiC9H"}