提交 ee2de29c 编写于 作者: S Sandeep Somavarapu

#28538 Implement resource overrides for settings

上级 00400d8f
......@@ -241,8 +241,8 @@ export class Configuration<T> {
}
}
getValue<C>(section: string = '', options: IConfigurationOverrides = {}): C {
const configModel = this.getConfigurationModel(options);
getValue<C>(section: string = '', overrides: IConfigurationOverrides = {}): C {
const configModel = this.getConfigurationModel(overrides);
return section ? configModel.getContentsFor<C>(section) : configModel.contents;
}
......@@ -296,9 +296,9 @@ export class Configuration<T> {
return result;
}
private getConfigurationModel<C>(options: IConfigurationOverrides): ConfigurationModel<any> {
let configurationModel = (options.resource ? this._foldersConsolidated.get(options.resource) : this._workspace) || new ConfigurationModel();
return options.language ? configurationModel.override<T>(options.language) : configurationModel;
private getConfigurationModel<C>(overrides: IConfigurationOverrides): ConfigurationModel<any> {
let configurationModel = overrides.resource ? this._foldersConsolidated.get(overrides.resource) || this._workspace : this._workspace;
return overrides.language ? configurationModel.override<T>(overrides.language) : configurationModel;
}
public toData(): IConfigurationData<any> {
......
......@@ -119,7 +119,7 @@ export abstract class BaseTextEditor extends BaseEditor {
const overrides = {};
const resource = this.getResource();
if (resource) {
objects.assign(overrides, this.configurationService.getConfiguration<IEditorConfiguration>('editor', { language: this.getLanguage(), /*resource: this.getResource(), */ }));
objects.assign(overrides, this.configurationService.getConfiguration<IEditorConfiguration>('editor', { language: this.getLanguage(), resource: this.getResource() }));
}
objects.assign(overrides, {
......
......@@ -202,6 +202,7 @@ export class WorkspaceConfigurationService extends Disposable implements IWorksp
}
public getConfiguration<C>(section?: string, overrides?: IConfigurationOverrides): C {
overrides = overrides && overrides.resource ? { ...overrides, resource: this.getRoot(overrides.resource) } : overrides;
return this._configuration.getValue<C>(section, overrides);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册