提交 86ba9e4e 编写于 作者: A Alex Dima

Remove editorWorkerService dep from modeService

上级 f61d3681
...@@ -423,10 +423,12 @@ export function getAPI(): typeof vscode { ...@@ -423,10 +423,12 @@ export function getAPI(): typeof vscode {
export function createCustomMode(language:MonarchTypes.ILanguage): TPromise<Modes.IMode> { export function createCustomMode(language:MonarchTypes.ILanguage): TPromise<Modes.IMode> {
startup.initStaticServicesIfNecessary(); 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; let modeId = language.name;
var name = language.name; let name = language.name;
ModesRegistry.registerLanguage({ ModesRegistry.registerLanguage({
id: modeId, id: modeId,
...@@ -434,7 +436,7 @@ export function createCustomMode(language:MonarchTypes.ILanguage): TPromise<Mode ...@@ -434,7 +436,7 @@ export function createCustomMode(language:MonarchTypes.ILanguage): TPromise<Mode
}); });
PluginsRegistry.registerOneTimeActivationEventListener('onLanguage:' + modeId, () => { PluginsRegistry.registerOneTimeActivationEventListener('onLanguage:' + modeId, () => {
modeService.registerMonarchDefinition(modeId, language); modeService.registerMonarchDefinition(editorWorkerService, modeId, language);
}); });
return modeService.getOrCreateMode(modeId); return modeService.getOrCreateMode(modeId);
...@@ -451,8 +453,11 @@ export function registerStandaloneLanguage(language:ILanguageExtensionPoint, def ...@@ -451,8 +453,11 @@ export function registerStandaloneLanguage(language:ILanguageExtensionPoint, def
} }
startup.initStaticServicesIfNecessary(); startup.initStaticServicesIfNecessary();
var modeService = standaloneServices.ensureStaticPlatformServices(null).modeService; let staticPlatformServices = standaloneServices.ensureStaticPlatformServices(null);
modeService.registerMonarchDefinition(language.id, value.language); let modeService = staticPlatformServices.modeService;
let editorWorkerService = staticPlatformServices.editorWorkerService;
modeService.registerMonarchDefinition(editorWorkerService, language.id, value.language);
}, (err) => { }, (err) => {
console.error('Cannot find module ' + defModule, err); console.error('Cannot find module ' + defModule, err);
}); });
......
...@@ -195,7 +195,7 @@ export function getOrCreateStaticServices(services?: IEditorOverrideServices): I ...@@ -195,7 +195,7 @@ export function getOrCreateStaticServices(services?: IEditorOverrideServices): I
var modeService = services.modeService; var modeService = services.modeService;
if (!modeService) { if (!modeService) {
modeService = new MainThreadModeServiceImpl(threadService, pluginService, modelService, editorWorkerService); modeService = new MainThreadModeServiceImpl(threadService, pluginService, modelService);
} }
var codeEditorService = services.codeEditorService || new CodeEditorServiceImpl(); var codeEditorService = services.codeEditorService || new CodeEditorServiceImpl();
......
...@@ -15,6 +15,7 @@ import {IReferenceContribution} from 'vs/editor/common/modes/supports/referenceS ...@@ -15,6 +15,7 @@ import {IReferenceContribution} from 'vs/editor/common/modes/supports/referenceS
import {IParameterHintsContribution} from 'vs/editor/common/modes/supports/parameterHintsSupport'; import {IParameterHintsContribution} from 'vs/editor/common/modes/supports/parameterHintsSupport';
import {ISuggestContribution} from 'vs/editor/common/modes/supports/suggestSupport'; import {ISuggestContribution} from 'vs/editor/common/modes/supports/suggestSupport';
import Event from 'vs/base/common/event'; import Event from 'vs/base/common/event';
import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
export var IModeService = createDecorator<IModeService>('modeService'); export var IModeService = createDecorator<IModeService>('modeService');
...@@ -77,5 +78,5 @@ export interface IModeService { ...@@ -77,5 +78,5 @@ export interface IModeService {
registerTokenizationSupport(modeId: string, callback: (mode: Modes.IMode) => Modes.ITokenizationSupport): IDisposable; registerTokenizationSupport(modeId: string, callback: (mode: Modes.IMode) => Modes.ITokenizationSupport): IDisposable;
registerRichEditSupport(modeId: string, support: IRichEditConfiguration): IDisposable; registerRichEditSupport(modeId: string, support: IRichEditConfiguration): IDisposable;
registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): IDisposable; registerMonarchDefinition(editorWorkerService:IEditorWorkerService, modeId:string, language:MonarchTypes.ILanguage): IDisposable;
} }
...@@ -419,7 +419,7 @@ export class ModeServiceImpl implements IModeService { ...@@ -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)); var lexer = compile(Objects.clone(language));
return this.doRegisterMonarchDefinition(modeId, lexer); return this.doRegisterMonarchDefinition(modeId, lexer);
} }
...@@ -483,18 +483,15 @@ export class ModeServiceImpl implements IModeService { ...@@ -483,18 +483,15 @@ export class ModeServiceImpl implements IModeService {
export class MainThreadModeServiceImpl extends ModeServiceImpl { export class MainThreadModeServiceImpl extends ModeServiceImpl {
private _modelService: IModelService; private _modelService: IModelService;
private _editorWorkerService:IEditorWorkerService;
private _hasInitialized: boolean; private _hasInitialized: boolean;
constructor( constructor(
threadService:IThreadService, threadService:IThreadService,
pluginService:IPluginService, pluginService:IPluginService,
modelService:IModelService, modelService:IModelService
editorWorkerService:IEditorWorkerService
) { ) {
super(threadService, pluginService); super(threadService, pluginService);
this._modelService = modelService; this._modelService = modelService;
this._editorWorkerService = editorWorkerService;
this._hasInitialized = false; this._hasInitialized = false;
languagesExtPoint.setHandler((extensions:IExtensionPointUser<ILanguageExtensionPoint[]>[]) => { languagesExtPoint.setHandler((extensions:IExtensionPointUser<ILanguageExtensionPoint[]>[]) => {
...@@ -564,14 +561,14 @@ export class MainThreadModeServiceImpl extends ModeServiceImpl { ...@@ -564,14 +561,14 @@ export class MainThreadModeServiceImpl extends ModeServiceImpl {
return super.registerModeSupport(modeId, support, callback); 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); this._getModeServiceWorkerHelper().registerMonarchDefinition(modeId, language);
var lexer = compile(Objects.clone(language)); var lexer = compile(Objects.clone(language));
return combinedDispose( return combinedDispose(
super.doRegisterMonarchDefinition(modeId, lexer), super.doRegisterMonarchDefinition(modeId, lexer),
this.registerModeSupport(modeId, 'suggestSupport', (mode) => { 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 { ...@@ -614,6 +611,6 @@ export class ModeServiceWorkerHelper {
} }
public registerMonarchDefinition(modeId:string, language:MonarchTypes.ILanguage): void { 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
...@@ -276,7 +276,7 @@ export class WorkbenchShell { ...@@ -276,7 +276,7 @@ export class WorkbenchShell {
let modelService = new ModelServiceImpl(this.threadService, markerService); let modelService = new ModelServiceImpl(this.threadService, markerService);
let editorWorkerService = new EditorWorkerServiceImpl(modelService); 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(); let untitledEditorService = new UntitledEditorService();
this.themeService = new ThemeService(pluginService); this.themeService = new ThemeService(pluginService);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册