@opensumi/ide-preferences 2.12.1-next-079c1930

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 (84) hide show
  1. package/README.md +190 -0
  2. package/lib/browser/abstract-resource-preference-provider.d.ts +51 -0
  3. package/lib/browser/abstract-resource-preference-provider.d.ts.map +1 -0
  4. package/lib/browser/abstract-resource-preference-provider.js +281 -0
  5. package/lib/browser/abstract-resource-preference-provider.js.map +1 -0
  6. package/lib/browser/folder-preference-provider.d.ts +26 -0
  7. package/lib/browser/folder-preference-provider.d.ts.map +1 -0
  8. package/lib/browser/folder-preference-provider.js +49 -0
  9. package/lib/browser/folder-preference-provider.js.map +1 -0
  10. package/lib/browser/folders-preferences-provider.d.ts +41 -0
  11. package/lib/browser/folders-preferences-provider.d.ts.map +1 -0
  12. package/lib/browser/folders-preferences-provider.js +240 -0
  13. package/lib/browser/folders-preferences-provider.js.map +1 -0
  14. package/lib/browser/index.d.ts +12 -0
  15. package/lib/browser/index.d.ts.map +1 -0
  16. package/lib/browser/index.js +120 -0
  17. package/lib/browser/index.js.map +1 -0
  18. package/lib/browser/index.less +35 -0
  19. package/lib/browser/preference-contribution.d.ts +51 -0
  20. package/lib/browser/preference-contribution.d.ts.map +1 -0
  21. package/lib/browser/preference-contribution.js +315 -0
  22. package/lib/browser/preference-contribution.js.map +1 -0
  23. package/lib/browser/preference-settings.service.d.ts +120 -0
  24. package/lib/browser/preference-settings.service.d.ts.map +1 -0
  25. package/lib/browser/preference-settings.service.js +492 -0
  26. package/lib/browser/preference-settings.service.js.map +1 -0
  27. package/lib/browser/preferenceItem.view.d.ts +20 -0
  28. package/lib/browser/preferenceItem.view.d.ts.map +1 -0
  29. package/lib/browser/preferenceItem.view.js +357 -0
  30. package/lib/browser/preferenceItem.view.js.map +1 -0
  31. package/lib/browser/preferences.module.less +272 -0
  32. package/lib/browser/preferences.view.d.ts +29 -0
  33. package/lib/browser/preferences.view.d.ts.map +1 -0
  34. package/lib/browser/preferences.view.js +159 -0
  35. package/lib/browser/preferences.view.js.map +1 -0
  36. package/lib/browser/user-preference-provider.d.ts +9 -0
  37. package/lib/browser/user-preference-provider.d.ts.map +1 -0
  38. package/lib/browser/user-preference-provider.js +23 -0
  39. package/lib/browser/user-preference-provider.js.map +1 -0
  40. package/lib/browser/userstorage/index.d.ts +3 -0
  41. package/lib/browser/userstorage/index.d.ts.map +1 -0
  42. package/lib/browser/userstorage/index.js +6 -0
  43. package/lib/browser/userstorage/index.js.map +1 -0
  44. package/lib/browser/userstorage/user-storage.contribution.d.ts +8 -0
  45. package/lib/browser/userstorage/user-storage.contribution.d.ts.map +1 -0
  46. package/lib/browser/userstorage/user-storage.contribution.js +27 -0
  47. package/lib/browser/userstorage/user-storage.contribution.js.map +1 -0
  48. package/lib/browser/userstorage/user-storage.service.d.ts +62 -0
  49. package/lib/browser/userstorage/user-storage.service.d.ts.map +1 -0
  50. package/lib/browser/userstorage/user-storage.service.js +163 -0
  51. package/lib/browser/userstorage/user-storage.service.js.map +1 -0
  52. package/lib/browser/workspace-file-preference-provider.d.ts +19 -0
  53. package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -0
  54. package/lib/browser/workspace-file-preference-provider.js +49 -0
  55. package/lib/browser/workspace-file-preference-provider.js.map +1 -0
  56. package/lib/browser/workspace-preference-provider.d.ts +34 -0
  57. package/lib/browser/workspace-preference-provider.d.ts.map +1 -0
  58. package/lib/browser/workspace-preference-provider.js +109 -0
  59. package/lib/browser/workspace-preference-provider.js.map +1 -0
  60. package/lib/common/index.d.ts +5 -0
  61. package/lib/common/index.d.ts.map +1 -0
  62. package/lib/common/index.js +8 -0
  63. package/lib/common/index.js.map +1 -0
  64. package/lib/common/preference-id.d.ts +8 -0
  65. package/lib/common/preference-id.d.ts.map +1 -0
  66. package/lib/common/preference-id.js +12 -0
  67. package/lib/common/preference-id.js.map +1 -0
  68. package/lib/common/preference.d.ts +4 -0
  69. package/lib/common/preference.d.ts.map +1 -0
  70. package/lib/common/preference.js +21 -0
  71. package/lib/common/preference.js.map +1 -0
  72. package/lib/common/types.d.ts +38 -0
  73. package/lib/common/types.d.ts.map +1 -0
  74. package/lib/common/types.js +5 -0
  75. package/lib/common/types.js.map +1 -0
  76. package/lib/common/user-storage.d.ts +6 -0
  77. package/lib/common/user-storage.d.ts.map +1 -0
  78. package/lib/common/user-storage.js +6 -0
  79. package/lib/common/user-storage.js.map +1 -0
  80. package/lib/index.d.ts +2 -0
  81. package/lib/index.d.ts.map +1 -0
  82. package/lib/index.js +5 -0
  83. package/lib/index.js.map +1 -0
  84. package/package.json +29 -0
@@ -0,0 +1,41 @@
1
+ import { URI, PreferenceProvider, PreferenceResolveResult, PreferenceConfigurations, ILogger } from '@opensumi/ide-core-browser';
2
+ import { FolderPreferenceProvider, FolderPreferenceProviderFactory, FolderPreferenceProviderOptions } from './folder-preference-provider';
3
+ import { IWorkspaceService } from '@opensumi/ide-workspace';
4
+ export declare class FoldersPreferencesProvider extends PreferenceProvider {
5
+ protected readonly folderPreferenceProviderFactory: FolderPreferenceProviderFactory;
6
+ protected readonly configurations: PreferenceConfigurations;
7
+ protected readonly workspaceService: IWorkspaceService;
8
+ protected readonly logger: ILogger;
9
+ protected readonly providers: Map<string, FolderPreferenceProvider>;
10
+ constructor();
11
+ protected init(): Promise<void>;
12
+ /**
13
+ * 根据当前工作区文件结构重新初始化配置项获取逻辑
14
+ *
15
+ * @protected
16
+ * @memberof FoldersPreferencesProvider
17
+ */
18
+ protected updateProviders(): void;
19
+ getConfigUri(resourceUri?: string): URI | undefined;
20
+ getContainingConfigUri(resourceUri?: string): URI | undefined;
21
+ getDomain(): string[];
22
+ doResolve<T>(preferenceName: string, resourceUri?: string, language?: string): PreferenceResolveResult<T>;
23
+ getPreferences(resourceUri?: string, language?: string): any;
24
+ getLanguagePreferences(resourceUri?: string): any;
25
+ /**
26
+ * 根据传入的preferenceName对配置项进行值的更新
27
+ * 这里一个配置项,如launch.json可能对应多个Provider,故需要遍历进行配置设置
28
+ *
29
+ * @param {string} preferenceName 配置项
30
+ * @param {*} value 值
31
+ * @param {string} [resourceUri] 资源路径
32
+ * @param {string} [language] 语言标识符
33
+ * @returns {Promise<boolean>}
34
+ * @memberof FoldersPreferencesProvider
35
+ */
36
+ doSetPreference(preferenceName: string, value: any, resourceUri?: string, language?: string): Promise<boolean>;
37
+ protected groupProvidersByConfigName(resourceUri?: string): Map<string, FolderPreferenceProvider[]>;
38
+ protected getFolderProviders(resourceUri?: string): FolderPreferenceProvider[];
39
+ protected createProvider(options: FolderPreferenceProviderOptions): FolderPreferenceProvider;
40
+ }
41
+ //# sourceMappingURL=folders-preferences-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folders-preferences-provider.d.ts","sourceRoot":"","sources":["../../src/browser/folders-preferences-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC1I,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,qBACa,0BAA2B,SAAQ,kBAAkB;IAGhE,SAAS,CAAC,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAGpF,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,SAAS,wCAA+C;;cAO3D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IA4BjC,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAUnD,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAU7D,SAAS,IAAI,MAAM,EAAE;IAIrB,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAgBzG,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAiBtD,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM;IAiB3C;;;;;;;;;;OAUG;IACG,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoCpH,SAAS,CAAC,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAenG,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAoB9E,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,+BAA+B,GAAG,wBAAwB;CAS7F"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FoldersPreferencesProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const folder_preference_provider_1 = require("./folder-preference-provider");
8
+ const ide_workspace_1 = require("@opensumi/ide-workspace");
9
+ let FoldersPreferencesProvider = class FoldersPreferencesProvider extends ide_core_browser_1.PreferenceProvider {
10
+ constructor() {
11
+ super();
12
+ this.providers = new Map();
13
+ this.init();
14
+ }
15
+ async init() {
16
+ await this.workspaceService.roots;
17
+ this.updateProviders();
18
+ this.workspaceService.onWorkspaceChanged(() => this.updateProviders());
19
+ const readyPromises = [];
20
+ for (const provider of this.providers.values()) {
21
+ readyPromises.push(provider.ready.catch((e) => this.logger.error(e)));
22
+ }
23
+ if (readyPromises.length > 0) {
24
+ Promise.all(readyPromises).then(() => this._ready.resolve());
25
+ }
26
+ else {
27
+ this._ready.resolve();
28
+ }
29
+ }
30
+ /**
31
+ * 根据当前工作区文件结构重新初始化配置项获取逻辑
32
+ *
33
+ * @protected
34
+ * @memberof FoldersPreferencesProvider
35
+ */
36
+ updateProviders() {
37
+ const roots = this.workspaceService.tryGetRoots();
38
+ const toDelete = new Set(this.providers.keys());
39
+ for (const folder of roots) {
40
+ // 这里根据当前工作区的根目录分别创建setting.json文件的Provider
41
+ const folderUri = new ide_core_browser_1.URI(folder.uri);
42
+ for (const configPath of this.configurations.getPaths()) {
43
+ for (const configName of [...this.configurations.getSectionNames(), this.configurations.getConfigName()]) {
44
+ const configUri = this.configurations.createUri(folderUri, configPath, configName);
45
+ const key = configUri.toString();
46
+ toDelete.delete(key);
47
+ if (!this.providers.has(key)) {
48
+ const provider = this.createProvider({ folder, configUri });
49
+ this.providers.set(key, provider);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ // 去重,移除旧的配置文件Provider
55
+ for (const key of toDelete) {
56
+ const provider = this.providers.get(key);
57
+ if (provider) {
58
+ this.providers.delete(key);
59
+ provider.dispose();
60
+ }
61
+ }
62
+ }
63
+ getConfigUri(resourceUri) {
64
+ for (const provider of this.getFolderProviders(resourceUri)) {
65
+ const configUri = provider.getConfigUri(resourceUri);
66
+ if (this.configurations.isConfigUri(configUri)) {
67
+ return configUri;
68
+ }
69
+ }
70
+ return undefined;
71
+ }
72
+ getContainingConfigUri(resourceUri) {
73
+ for (const provider of this.getFolderProviders(resourceUri)) {
74
+ const configUri = provider.getConfigUri();
75
+ if (this.configurations.isConfigUri(configUri) && provider.contains(resourceUri)) {
76
+ return configUri;
77
+ }
78
+ }
79
+ return undefined;
80
+ }
81
+ getDomain() {
82
+ return this.workspaceService.tryGetRoots().map((root) => root.uri);
83
+ }
84
+ doResolve(preferenceName, resourceUri, language) {
85
+ const result = {};
86
+ const groups = this.groupProvidersByConfigName(resourceUri);
87
+ for (const group of groups.values()) {
88
+ for (const provider of group) {
89
+ const { value, configUri } = provider.resolve(preferenceName, resourceUri, language);
90
+ if (configUri && value !== undefined) {
91
+ result.configUri = configUri;
92
+ result.value = ide_core_browser_1.PreferenceProvider.merge(result.value, value);
93
+ break;
94
+ }
95
+ }
96
+ }
97
+ return result;
98
+ }
99
+ getPreferences(resourceUri, language) {
100
+ let result;
101
+ const groups = this.groupProvidersByConfigName(resourceUri);
102
+ for (const group of groups.values()) {
103
+ for (const provider of group) {
104
+ if (provider.getConfigUri(resourceUri)) {
105
+ const preferences = provider.getPreferences(undefined, language);
106
+ if (preferences) {
107
+ result = ide_core_browser_1.PreferenceProvider.merge(result, preferences);
108
+ }
109
+ break;
110
+ }
111
+ }
112
+ }
113
+ return result;
114
+ }
115
+ getLanguagePreferences(resourceUri) {
116
+ let result;
117
+ const groups = this.groupProvidersByConfigName(resourceUri);
118
+ for (const group of groups.values()) {
119
+ for (const provider of group) {
120
+ if (provider.getConfigUri(resourceUri)) {
121
+ const preferences = provider.getLanguagePreferences();
122
+ if (preferences) {
123
+ result = ide_core_browser_1.PreferenceProvider.merge(result, preferences);
124
+ }
125
+ break;
126
+ }
127
+ }
128
+ }
129
+ return result;
130
+ }
131
+ /**
132
+ * 根据传入的preferenceName对配置项进行值的更新
133
+ * 这里一个配置项,如launch.json可能对应多个Provider,故需要遍历进行配置设置
134
+ *
135
+ * @param {string} preferenceName 配置项
136
+ * @param {*} value 值
137
+ * @param {string} [resourceUri] 资源路径
138
+ * @param {string} [language] 语言标识符
139
+ * @returns {Promise<boolean>}
140
+ * @memberof FoldersPreferencesProvider
141
+ */
142
+ async doSetPreference(preferenceName, value, resourceUri, language) {
143
+ const sectionName = preferenceName.split('.', 1)[0];
144
+ const configName = this.configurations.isSectionName(sectionName) ? sectionName : this.configurations.getConfigName();
145
+ const providers = this.getFolderProviders(resourceUri);
146
+ let configPath;
147
+ for (const provider of providers) {
148
+ if (configPath === undefined) {
149
+ const configUri = provider.getConfigUri(resourceUri);
150
+ if (configUri) {
151
+ configPath = this.configurations.getPath(configUri);
152
+ }
153
+ }
154
+ if (this.configurations.getName(provider.getConfigUri()) === configName) {
155
+ if (provider.getConfigUri(resourceUri)) {
156
+ // 当存在配置文件路径时,尝试执行设置配置
157
+ if (await provider.setPreference(preferenceName, value, resourceUri, language)) {
158
+ return true;
159
+ }
160
+ }
161
+ else if (this.configurations.getPath(provider.getConfigUri()) === configPath) {
162
+ // 当存在配置文件父路径与当前传入的resourceUri所指定的配置文件父路径一致时,尝试执行设置配置
163
+ if (await provider.setPreference(preferenceName, value, resourceUri, language)) {
164
+ return true;
165
+ }
166
+ }
167
+ else {
168
+ // 为不存在配置文件的配置尝试执行一次配置修改
169
+ if (await provider.setPreference(preferenceName, value, resourceUri, language)) {
170
+ return true;
171
+ }
172
+ }
173
+ }
174
+ }
175
+ return false;
176
+ }
177
+ groupProvidersByConfigName(resourceUri) {
178
+ const groups = new Map();
179
+ const providers = this.getFolderProviders(resourceUri);
180
+ for (const configName of [this.configurations.getConfigName(), ...this.configurations.getSectionNames()]) {
181
+ const group = [];
182
+ for (const provider of providers) {
183
+ if (this.configurations.getName(provider.getConfigUri()) === configName) {
184
+ group.push(provider);
185
+ }
186
+ }
187
+ groups.set(configName, group);
188
+ }
189
+ return groups;
190
+ }
191
+ getFolderProviders(resourceUri) {
192
+ if (!resourceUri) {
193
+ return [];
194
+ }
195
+ const resourcePath = new ide_core_browser_1.URI(resourceUri).path;
196
+ let folder = { relativity: Number.MAX_SAFE_INTEGER };
197
+ const providers = new Map();
198
+ for (const provider of this.providers.values()) {
199
+ const uri = provider.folderUri.toString();
200
+ const folderProviders = (providers.get(uri) || []);
201
+ folderProviders.push(provider);
202
+ providers.set(uri, folderProviders);
203
+ const relativity = provider.folderUri.path.relativity(resourcePath);
204
+ if (relativity >= 0 && folder.relativity > relativity) {
205
+ folder = { relativity, uri };
206
+ }
207
+ }
208
+ return folder.uri && providers.get(folder.uri) || [];
209
+ }
210
+ createProvider(options) {
211
+ const provider = this.folderPreferenceProviderFactory(options);
212
+ this.toDispose.push(provider);
213
+ this.toDispose.push(provider.onDidPreferencesChanged((change) => {
214
+ this.emitPreferencesChangedEvent(change);
215
+ }));
216
+ return provider;
217
+ }
218
+ };
219
+ (0, tslib_1.__decorate)([
220
+ (0, di_1.Autowired)(folder_preference_provider_1.FolderPreferenceProviderFactory),
221
+ (0, tslib_1.__metadata)("design:type", Function)
222
+ ], FoldersPreferencesProvider.prototype, "folderPreferenceProviderFactory", void 0);
223
+ (0, tslib_1.__decorate)([
224
+ (0, di_1.Autowired)(ide_core_browser_1.PreferenceConfigurations),
225
+ (0, tslib_1.__metadata)("design:type", ide_core_browser_1.PreferenceConfigurations)
226
+ ], FoldersPreferencesProvider.prototype, "configurations", void 0);
227
+ (0, tslib_1.__decorate)([
228
+ (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
229
+ (0, tslib_1.__metadata)("design:type", Object)
230
+ ], FoldersPreferencesProvider.prototype, "workspaceService", void 0);
231
+ (0, tslib_1.__decorate)([
232
+ (0, di_1.Autowired)(ide_core_browser_1.ILogger),
233
+ (0, tslib_1.__metadata)("design:type", Object)
234
+ ], FoldersPreferencesProvider.prototype, "logger", void 0);
235
+ FoldersPreferencesProvider = (0, tslib_1.__decorate)([
236
+ (0, di_1.Injectable)(),
237
+ (0, tslib_1.__metadata)("design:paramtypes", [])
238
+ ], FoldersPreferencesProvider);
239
+ exports.FoldersPreferencesProvider = FoldersPreferencesProvider;
240
+ //# sourceMappingURL=folders-preferences-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folders-preferences-provider.js","sourceRoot":"","sources":["../../src/browser/folders-preferences-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Provider, Injector } from '@opensumi/di';
2
+ import { BrowserModule } from '@opensumi/ide-core-browser';
3
+ export declare class PreferencesModule extends BrowserModule {
4
+ contributionProvider: symbol;
5
+ providers: Provider[];
6
+ preferences: typeof injectPreferenceProviders;
7
+ }
8
+ export declare function injectFolderPreferenceProvider(inject: Injector): void;
9
+ export declare function injectWorkspaceFilePreferenceProvider(inject: Injector): void;
10
+ export declare function injectPreferenceProviders(inject: Injector): void;
11
+ export declare function createPreferenceProviders(): Provider[];
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAY3D,qBACa,iBAAkB,SAAQ,aAAa;IAClD,oBAAoB,SAAuB;IAC3C,SAAS,EAAE,QAAQ,EAAE,CAYnB;IAEF,WAAW,mCAA6B;CACzC;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAgCrE;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAmB5E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAGhE;AAED,wBAAgB,yBAAyB,IAAI,QAAQ,EAAE,CAkBtD"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPreferenceProviders = exports.injectPreferenceProviders = exports.injectWorkspaceFilePreferenceProvider = exports.injectFolderPreferenceProvider = exports.PreferencesModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const preference_contribution_1 = require("./preference-contribution");
8
+ const folders_preferences_provider_1 = require("./folders-preferences-provider");
9
+ const workspace_preference_provider_1 = require("./workspace-preference-provider");
10
+ const user_preference_provider_1 = require("./user-preference-provider");
11
+ const preferences_1 = require("@opensumi/ide-core-browser/lib/preferences");
12
+ const folder_preference_provider_1 = require("./folder-preference-provider");
13
+ const workspace_file_preference_provider_1 = require("./workspace-file-preference-provider");
14
+ const preference_settings_service_1 = require("./preference-settings.service");
15
+ const userstorage_1 = require("./userstorage");
16
+ const common_1 = require("../common");
17
+ let PreferencesModule = class PreferencesModule extends ide_core_browser_1.BrowserModule {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.contributionProvider = common_1.SettingContribution;
21
+ this.providers = [
22
+ ...createPreferenceProviders(),
23
+ {
24
+ token: common_1.IUserStorageService,
25
+ useClass: userstorage_1.UserStorageServiceImpl,
26
+ },
27
+ {
28
+ token: preferences_1.IPreferenceSettingsService,
29
+ useClass: preference_settings_service_1.PreferenceSettingsService,
30
+ },
31
+ preference_contribution_1.PreferenceContribution,
32
+ userstorage_1.UserStorageContribution,
33
+ ];
34
+ this.preferences = injectPreferenceProviders;
35
+ }
36
+ };
37
+ PreferencesModule = (0, tslib_1.__decorate)([
38
+ (0, di_1.Injectable)()
39
+ ], PreferencesModule);
40
+ exports.PreferencesModule = PreferencesModule;
41
+ function injectFolderPreferenceProvider(inject) {
42
+ inject.addProviders({
43
+ token: folder_preference_provider_1.FolderPreferenceProviderFactory,
44
+ useFactory: () => {
45
+ return (options) => {
46
+ const configurations = inject.get(preferences_1.PreferenceConfigurations);
47
+ const sectionName = configurations.getName(options.configUri);
48
+ const child = inject.createChild([
49
+ {
50
+ token: folder_preference_provider_1.FolderPreferenceProviderOptions,
51
+ useValue: options,
52
+ },
53
+ ], {
54
+ dropdownForTag: true,
55
+ tag: sectionName,
56
+ });
57
+ // 当传入为配置文件时,如settings.json, 获取Setting
58
+ if (configurations.isConfigUri(options.configUri)) {
59
+ child.addProviders({
60
+ token: folder_preference_provider_1.FolderPreferenceProvider,
61
+ useClass: folder_preference_provider_1.FolderPreferenceProvider,
62
+ });
63
+ return child.get(folder_preference_provider_1.FolderPreferenceProvider);
64
+ }
65
+ // 当传入为其他文件时,如launch.json
66
+ // 需设置对应的FolderPreferenceProvider 及其对应的 FolderPreferenceProviderOptions 依赖
67
+ // 这里的FolderPreferenceProvider获取必须为多例,因为工作区模式下可能存在多个配置文件
68
+ return child.get(folder_preference_provider_1.FolderPreferenceProvider, { tag: sectionName, multiple: true });
69
+ };
70
+ },
71
+ });
72
+ }
73
+ exports.injectFolderPreferenceProvider = injectFolderPreferenceProvider;
74
+ function injectWorkspaceFilePreferenceProvider(inject) {
75
+ inject.addProviders({
76
+ token: workspace_file_preference_provider_1.WorkspaceFilePreferenceProviderFactory,
77
+ useFactory: () => {
78
+ return (options) => {
79
+ const child = inject.createChild([
80
+ {
81
+ token: workspace_file_preference_provider_1.WorkspaceFilePreferenceProviderOptions,
82
+ useValue: options,
83
+ },
84
+ {
85
+ token: workspace_file_preference_provider_1.WorkspaceFilePreferenceProvider,
86
+ useClass: workspace_file_preference_provider_1.WorkspaceFilePreferenceProvider,
87
+ },
88
+ ]);
89
+ return child.get(workspace_file_preference_provider_1.WorkspaceFilePreferenceProvider);
90
+ };
91
+ },
92
+ });
93
+ }
94
+ exports.injectWorkspaceFilePreferenceProvider = injectWorkspaceFilePreferenceProvider;
95
+ function injectPreferenceProviders(inject) {
96
+ injectFolderPreferenceProvider(inject);
97
+ injectWorkspaceFilePreferenceProvider(inject);
98
+ }
99
+ exports.injectPreferenceProviders = injectPreferenceProviders;
100
+ function createPreferenceProviders() {
101
+ return [
102
+ {
103
+ token: preferences_1.PreferenceProvider,
104
+ tag: preferences_1.PreferenceScope.Folder,
105
+ useClass: folders_preferences_provider_1.FoldersPreferencesProvider,
106
+ },
107
+ {
108
+ token: preferences_1.PreferenceProvider,
109
+ tag: preferences_1.PreferenceScope.Workspace,
110
+ useClass: workspace_preference_provider_1.WorkspacePreferenceProvider,
111
+ },
112
+ {
113
+ token: preferences_1.PreferenceProvider,
114
+ tag: preferences_1.PreferenceScope.User,
115
+ useClass: user_preference_provider_1.UserPreferenceProvider,
116
+ },
117
+ ];
118
+ }
119
+ exports.createPreferenceProviders = createPreferenceProviders;
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ .preference-view{
2
+ margin: 40;
3
+ height: 100%;
4
+ color: #ccc;
5
+ .scope-select {
6
+ position: fixed;
7
+ right: 100px;
8
+ }
9
+ .preference-line {
10
+ margin: 40px;
11
+ }
12
+ .key {
13
+ font-weight: bold;
14
+ }
15
+ .control-wrap {
16
+ color: #fff;
17
+ select, input{
18
+ border: none;
19
+ background: #333;
20
+ padding: 3px 5px;
21
+ }
22
+ }
23
+ .desc {
24
+ }
25
+ .text-control {
26
+ max-width: 500px;
27
+ width: 100%;
28
+ }
29
+ .select-control {
30
+ width: 300px;
31
+ }
32
+ .number-control {
33
+ width: 300px;
34
+ }
35
+ }
@@ -0,0 +1,51 @@
1
+ import { ClientAppContribution, URI, CommandContribution, CommandRegistry, KeybindingContribution, KeybindingRegistry, PreferenceScope, WithEventBus, MaybePromise, JsonSchemaContribution, IJSONSchemaRegistry, Command } from '@opensumi/ide-core-browser';
2
+ import { WorkspacePreferenceProvider } from './workspace-preference-provider';
3
+ import { IFileServiceClient } from '@opensumi/ide-file-service/lib/common';
4
+ import { BrowserEditorContribution, EditorComponentRegistry } from '@opensumi/ide-editor/lib/browser';
5
+ import { ResourceService, IResourceProvider, IResource } from '@opensumi/ide-editor';
6
+ import { MenuContribution, IMenuRegistry } from '@opensumi/ide-core-browser/lib/menu/next';
7
+ export declare class PrefResourceProvider extends WithEventBus implements IResourceProvider {
8
+ readonly scheme: string;
9
+ constructor();
10
+ provideResource(uri: URI): MaybePromise<IResource<any>>;
11
+ provideResourceSubname(resource: IResource, groupResources: IResource[]): string | null;
12
+ shouldCloseResource(resource: IResource, openedResources: IResource[][]): Promise<boolean>;
13
+ }
14
+ export declare namespace PreferenceContextMenu {
15
+ const OPEN = "1_open";
16
+ }
17
+ export declare namespace PREFERENCE_COMMANDS {
18
+ const OPEN_USER_SETTING_FILE: Command;
19
+ const OPEN_WORKSPACE_SETTING_FILE: Command;
20
+ const OPEN_SOURCE_FILE: Command;
21
+ const PREFERENCE_INPUT_FOCUS: Command;
22
+ }
23
+ export declare class PreferenceContribution implements CommandContribution, KeybindingContribution, ClientAppContribution, BrowserEditorContribution, MenuContribution, JsonSchemaContribution {
24
+ private readonly schemaProvider;
25
+ protected readonly workspacePreferenceProvider: WorkspacePreferenceProvider;
26
+ protected readonly filesystem: IFileServiceClient;
27
+ private readonly prefResourceProvider;
28
+ private readonly commandService;
29
+ private readonly schemaRegistry;
30
+ private readonly preferenceService;
31
+ private readonly contributions;
32
+ private readonly workbenchEditorService;
33
+ private settingGroupsWillRegister;
34
+ private settingSectionsWillRegister;
35
+ onStart(): void;
36
+ registerCommands(commands: CommandRegistry): void;
37
+ registerMenus(menus: IMenuRegistry): void;
38
+ registerKeybindings(keybindings: KeybindingRegistry): void;
39
+ handleSettingGroups(): void;
40
+ handleSettingSections(): void;
41
+ saveSettings(): void;
42
+ registerSettings(): void;
43
+ registerSettingSections(): void;
44
+ openPreferences(search?: string, prefernceId?: string): Promise<void>;
45
+ openResource(scope?: PreferenceScope, preferenceId?: string): Promise<void>;
46
+ initialize(): void;
47
+ registerSchema(registry: IJSONSchemaRegistry): void;
48
+ registerResource(resourceService: ResourceService): void;
49
+ registerEditorComponent(editorComponentRegistry: EditorComponentRegistry): void;
50
+ }
51
+ //# sourceMappingURL=preference-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/preference-contribution.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAErB,GAAG,EAEH,mBAAmB,EACnB,eAAe,EAEf,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EAEf,YAAY,EACZ,YAAY,EAIZ,sBAAsB,EACtB,mBAAmB,EAMnB,OAAO,EAIR,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAA+C,MAAM,kCAAkC,CAAC;AACnJ,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAU,MAAM,0CAA0C,CAAC;AAMnG,qBACa,oBAAqB,SAAQ,YAAa,YAAW,iBAAiB;IAEjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAe;;IAMtC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IASvD,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,IAAI;IAIjF,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjG;AAED,yBAAiB,qBAAqB,CAAC;IAE9B,MAAM,IAAI,WAAW,CAAC;CAC9B;AAED,yBAAiB,mBAAmB,CAAC;IAG5B,MAAM,sBAAsB,EAAE,OAIpC,CAAC;IAEK,MAAM,2BAA2B,EAAE,OAIzC,CAAC;IAEK,MAAM,gBAAgB,EAAE,OAK9B,CAAC;IAEK,MAAM,sBAAsB,EAAE,OAGpC,CAAC;CACH;AAED,qBACa,sBAAuB,YAAW,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,sBAAsB;IAGpL,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAG1D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B,CAAC;IAG5E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAG5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAGrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAG9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAG1E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,OAAO,CAAC,yBAAyB,CAAwC;IAEzE,OAAO,CAAC,2BAA2B,CAER;IAE3B,OAAO;IAkBP,gBAAgB,CAAC,QAAQ,EAAE,eAAe;IA6C1C,aAAa,CAAC,KAAK,EAAE,aAAa;IAuBlC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAa1D,mBAAmB;IAQnB,qBAAqB;IAQrB,YAAY;IAiBZ,gBAAgB;IAMhB,uBAAuB;IAQjB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAOrD,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM;IAqCjE,UAAU;IAMV,cAAc,CAAC,QAAQ,EAAE,mBAAmB;IAI5C,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAIjD,uBAAuB,CAAC,uBAAuB,EAAE,uBAAuB;CAmBzE"}