From 86ba9e4eee036ed009656ea4522cbf82e80a59c7 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Fri, 19 Feb 2016 14:54:47 +0100 Subject: [PATCH] Remove editorWorkerService dep from modeService --- .../browser/standalone/standaloneCodeEditor.ts | 17 +++++++++++------ .../browser/standalone/standaloneServices.ts | 2 +- src/vs/editor/common/services/modeService.ts | 3 ++- .../editor/common/services/modeServiceImpl.ts | 15 ++++++--------- src/vs/workbench/electron-browser/shell.ts | 2 +- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/vs/editor/browser/standalone/standaloneCodeEditor.ts b/src/vs/editor/browser/standalone/standaloneCodeEditor.ts index a024f5f3e73..db1554a8089 100644 --- a/src/vs/editor/browser/standalone/standaloneCodeEditor.ts +++ b/src/vs/editor/browser/standalone/standaloneCodeEditor.ts @@ -423,10 +423,12 @@ export function getAPI(): typeof vscode { export function createCustomMode(language:MonarchTypes.ILanguage): TPromise { startup.initStaticServicesIfNecessary(); - var modeService = standaloneServices.ensureStaticPlatformServices(null).modeService; + let staticPlatformServices = standaloneServices.ensureStaticPlatformServices(null); + let modeService = staticPlatformServices.modeService; + let editorWorkerService = staticPlatformServices.editorWorkerService; - var modeId = language.name; - var name = language.name; + let modeId = language.name; + let name = language.name; ModesRegistry.registerLanguage({ id: modeId, @@ -434,7 +436,7 @@ export function createCustomMode(language:MonarchTypes.ILanguage): TPromise { - modeService.registerMonarchDefinition(modeId, language); + modeService.registerMonarchDefinition(editorWorkerService, modeId, language); }); return modeService.getOrCreateMode(modeId); @@ -451,8 +453,11 @@ export function registerStandaloneLanguage(language:ILanguageExtensionPoint, def } startup.initStaticServicesIfNecessary(); - var modeService = standaloneServices.ensureStaticPlatformServices(null).modeService; - modeService.registerMonarchDefinition(language.id, value.language); + let staticPlatformServices = standaloneServices.ensureStaticPlatformServices(null); + let modeService = staticPlatformServices.modeService; + let editorWorkerService = staticPlatformServices.editorWorkerService; + + modeService.registerMonarchDefinition(editorWorkerService, language.id, value.language); }, (err) => { console.error('Cannot find module ' + defModule, err); }); diff --git a/src/vs/editor/browser/standalone/standaloneServices.ts b/src/vs/editor/browser/standalone/standaloneServices.ts index 54bc3526352..6d211f321e2 100644 --- a/src/vs/editor/browser/standalone/standaloneServices.ts +++ b/src/vs/editor/browser/standalone/standaloneServices.ts @@ -195,7 +195,7 @@ export function getOrCreateStaticServices(services?: IEditorOverrideServices): I var modeService = services.modeService; if (!modeService) { - modeService = new MainThreadModeServiceImpl(threadService, pluginService, modelService, editorWorkerService); + modeService = new MainThreadModeServiceImpl(threadService, pluginService, modelService); } var codeEditorService = services.codeEditorService || new CodeEditorServiceImpl(); diff --git a/src/vs/editor/common/services/modeService.ts b/src/vs/editor/common/services/modeService.ts index 4b156f7aca2..9361af38b20 100644 --- a/src/vs/editor/common/services/modeService.ts +++ b/src/vs/editor/common/services/modeService.ts @@ -15,6 +15,7 @@ import {IReferenceContribution} from 'vs/editor/common/modes/supports/referenceS import {IParameterHintsContribution} from 'vs/editor/common/modes/supports/parameterHintsSupport'; import {ISuggestContribution} from 'vs/editor/common/modes/supports/suggestSupport'; import Event from 'vs/base/common/event'; +import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService'; export var IModeService = createDecorator('modeService'); @@ -77,5 +78,5 @@ export interface IModeService { registerTokenizationSupport(modeId: string, callback: (mode: Modes.IMode) => Modes.ITokenizationSupport): IDisposable; registerRichEditSupport(modeId: string, support: IRichEditConfiguration): IDisposable; - registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): IDisposable; + registerMonarchDefinition(editorWorkerService:IEditorWorkerService, modeId:string, language:MonarchTypes.ILanguage): IDisposable; } diff --git a/src/vs/editor/common/services/modeServiceImpl.ts b/src/vs/editor/common/services/modeServiceImpl.ts index b694dfe14c9..cb86bddf3f2 100644 --- a/src/vs/editor/common/services/modeServiceImpl.ts +++ b/src/vs/editor/common/services/modeServiceImpl.ts @@ -419,7 +419,7 @@ export class ModeServiceImpl implements IModeService { ); } - public registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): IDisposable { + public registerMonarchDefinition(editorWorkerService:IEditorWorkerService, modeId:string, language:MonarchTypes.ILanguage): IDisposable { var lexer = compile(Objects.clone(language)); return this.doRegisterMonarchDefinition(modeId, lexer); } @@ -483,18 +483,15 @@ export class ModeServiceImpl implements IModeService { export class MainThreadModeServiceImpl extends ModeServiceImpl { private _modelService: IModelService; - private _editorWorkerService:IEditorWorkerService; private _hasInitialized: boolean; constructor( threadService:IThreadService, pluginService:IPluginService, - modelService:IModelService, - editorWorkerService:IEditorWorkerService + modelService:IModelService ) { super(threadService, pluginService); this._modelService = modelService; - this._editorWorkerService = editorWorkerService; this._hasInitialized = false; languagesExtPoint.setHandler((extensions:IExtensionPointUser[]) => { @@ -564,14 +561,14 @@ export class MainThreadModeServiceImpl extends ModeServiceImpl { return super.registerModeSupport(modeId, support, callback); } - public registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): IDisposable { + public registerMonarchDefinition(editorWorkerService:IEditorWorkerService, modeId:string, language:MonarchTypes.ILanguage): IDisposable { this._getModeServiceWorkerHelper().registerMonarchDefinition(modeId, language); var lexer = compile(Objects.clone(language)); return combinedDispose( super.doRegisterMonarchDefinition(modeId, lexer), this.registerModeSupport(modeId, 'suggestSupport', (mode) => { - return MonarchDefinition.createSuggestSupport(this._modelService, this._editorWorkerService, modeId, lexer); + return MonarchDefinition.createSuggestSupport(this._modelService, editorWorkerService, modeId, lexer); }) ); } @@ -614,6 +611,6 @@ export class ModeServiceWorkerHelper { } public registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): void { - this._modeService.registerMonarchDefinition(modeId, language); + this._modeService.registerMonarchDefinition(null, modeId, language); } -} \ No newline at end of file +} diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index 2fd0a26c48d..550f9de14ef 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -276,7 +276,7 @@ export class WorkbenchShell { let modelService = new ModelServiceImpl(this.threadService, markerService); let editorWorkerService = new EditorWorkerServiceImpl(modelService); - let modeService = new MainThreadModeServiceImpl(this.threadService, pluginService, modelService, editorWorkerService); + let modeService = new MainThreadModeServiceImpl(this.threadService, pluginService, modelService); let untitledEditorService = new UntitledEditorService(); this.themeService = new ThemeService(pluginService); -- GitLab