extract hasWorkspaceConfiguration and setUserConfiguration to workbench

This commit is contained in:
Benjamin Pasero
2016-08-23 07:28:49 +02:00
parent 8e1e322577
commit 31bac4eef1
10 changed files with 36 additions and 54 deletions

View File

@@ -0,0 +1,24 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import {JSONPath} from 'vs/base/common/json';
import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
import {createDecorator} from 'vs/platform/instantiation/common/instantiation';
export const IWorkbenchConfigurationService = createDecorator<IWorkbenchConfigurationService>('configurationService');
export interface IWorkbenchConfigurationService extends IConfigurationService {
/**
* Returns iff the workspace has configuration or not.
*/
hasWorkspaceConfiguration(): boolean;
/**
* Sets a user configuration. An the setting does not yet exist in the settings, it will be
* added.
*/
setUserConfiguration(key: string | JSONPath, value: any): Thenable<void>;
}

View File

@@ -26,7 +26,8 @@ import {applyEdits} from 'vs/base/common/jsonFormatter';
import {setProperty} from 'vs/base/common/jsonEdit';
import errors = require('vs/base/common/errors');
import {IConfigFile, consolidate, CONFIG_DEFAULT_NAME, newConfigFile, getDefaultValues} from 'vs/platform/configuration/common/model';
import {IConfigurationService, IConfigurationServiceEvent} from 'vs/platform/configuration/common/configuration';
import {IConfigurationServiceEvent} from 'vs/platform/configuration/common/configuration';
import {IWorkbenchConfigurationService} from 'vs/workbench/services/configuration/common/configuration';
import {EventType as FileEventType, FileChangeType, FileChangesEvent} from 'vs/platform/files/common/files';
import {IConfigurationRegistry, Extensions} from 'vs/platform/configuration/common/configurationRegistry';
import {Registry} from 'vs/platform/platform';
@@ -48,7 +49,7 @@ interface ILoadConfigResult {
parseErrors?: string[];
}
export class ConfigurationService implements IConfigurationService, IDisposable {
export class ConfigurationService implements IWorkbenchConfigurationService, IDisposable {
public _serviceBrand: any;
@@ -347,7 +348,7 @@ export class ConfigurationService implements IConfigurationService, IDisposable
if (this.reloadConfigurationScheduler) {
this.reloadConfigurationScheduler.dispose();
}
this.callOnDispose.dispose();
this._onDidUpdateConfiguration.dispose();
}