This commit is contained in:
Sandeep Somavarapu
2017-09-27 16:13:37 +02:00
parent 1fa9254d30
commit 838d4a33d6
5 changed files with 54 additions and 24 deletions

View File

@@ -6,7 +6,7 @@
import URI from 'vs/base/common/uri';
import { TPromise } from 'vs/base/common/winjs.base';
import { IDisposable } from 'vs/base/common/lifecycle';
import { Disposable } from 'vs/base/common/lifecycle';
import { Registry } from 'vs/platform/registry/common/platform';
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
@@ -16,9 +16,7 @@ import { MainThreadConfigurationShape, MainContext, ExtHostContext, IExtHostCont
import { extHostNamedCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers';
@extHostNamedCustomer(MainContext.MainThreadConfiguration)
export class MainThreadConfiguration implements MainThreadConfigurationShape {
private readonly _configurationListener: IDisposable;
export class MainThreadConfiguration extends Disposable implements MainThreadConfigurationShape {
constructor(
extHostContext: IExtHostContext,
@@ -26,15 +24,16 @@ export class MainThreadConfiguration implements MainThreadConfigurationShape {
@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,
@IWorkspaceConfigurationService configurationService: IWorkspaceConfigurationService
) {
super();
const proxy = extHostContext.get(ExtHostContext.ExtHostConfiguration);
this._configurationListener = configurationService.onDidUpdateConfiguration(() => {
this._register(configurationService.onDidUpdateConfiguration(() => {
proxy.$acceptConfigurationChanged(configurationService.getConfigurationData());
});
}
}));
public dispose(): void {
this._configurationListener.dispose();
this._register(configurationService.onDidRegisterExtensionsConfigurations(() => {
proxy.$acceptConfigurationChanged(configurationService.getConfigurationData());
}));
}
$updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resource: URI): TPromise<void> {