From ee2de29cf0416107559a71c911b111aa1335872b Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Thu, 15 Jun 2017 22:44:14 +0200 Subject: [PATCH] #28538 Implement resource overrides for settings --- src/vs/platform/configuration/common/configuration.ts | 10 +++++----- src/vs/workbench/browser/parts/editor/textEditor.ts | 2 +- .../services/configuration/node/configuration.ts | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/vs/platform/configuration/common/configuration.ts b/src/vs/platform/configuration/common/configuration.ts index ac8016e30ab..94e02b37a29 100644 --- a/src/vs/platform/configuration/common/configuration.ts +++ b/src/vs/platform/configuration/common/configuration.ts @@ -241,8 +241,8 @@ export class Configuration { } } - getValue(section: string = '', options: IConfigurationOverrides = {}): C { - const configModel = this.getConfigurationModel(options); + getValue(section: string = '', overrides: IConfigurationOverrides = {}): C { + const configModel = this.getConfigurationModel(overrides); return section ? configModel.getContentsFor(section) : configModel.contents; } @@ -296,9 +296,9 @@ export class Configuration { return result; } - private getConfigurationModel(options: IConfigurationOverrides): ConfigurationModel { - let configurationModel = (options.resource ? this._foldersConsolidated.get(options.resource) : this._workspace) || new ConfigurationModel(); - return options.language ? configurationModel.override(options.language) : configurationModel; + private getConfigurationModel(overrides: IConfigurationOverrides): ConfigurationModel { + let configurationModel = overrides.resource ? this._foldersConsolidated.get(overrides.resource) || this._workspace : this._workspace; + return overrides.language ? configurationModel.override(overrides.language) : configurationModel; } public toData(): IConfigurationData { diff --git a/src/vs/workbench/browser/parts/editor/textEditor.ts b/src/vs/workbench/browser/parts/editor/textEditor.ts index c344a1c89a3..4cbf6a0caf0 100644 --- a/src/vs/workbench/browser/parts/editor/textEditor.ts +++ b/src/vs/workbench/browser/parts/editor/textEditor.ts @@ -119,7 +119,7 @@ export abstract class BaseTextEditor extends BaseEditor { const overrides = {}; const resource = this.getResource(); if (resource) { - objects.assign(overrides, this.configurationService.getConfiguration('editor', { language: this.getLanguage(), /*resource: this.getResource(), */ })); + objects.assign(overrides, this.configurationService.getConfiguration('editor', { language: this.getLanguage(), resource: this.getResource() })); } objects.assign(overrides, { diff --git a/src/vs/workbench/services/configuration/node/configuration.ts b/src/vs/workbench/services/configuration/node/configuration.ts index d5e4872ebdf..e5613d3190b 100644 --- a/src/vs/workbench/services/configuration/node/configuration.ts +++ b/src/vs/workbench/services/configuration/node/configuration.ts @@ -202,6 +202,7 @@ export class WorkspaceConfigurationService extends Disposable implements IWorksp } public getConfiguration(section?: string, overrides?: IConfigurationOverrides): C { + overrides = overrides && overrides.resource ? { ...overrides, resource: this.getRoot(overrides.resource) } : overrides; return this._configuration.getValue(section, overrides); } -- GitLab