diff --git a/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts index 660c3a22477..e1bc5da5f5b 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts @@ -48,13 +48,12 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha } } - $unregister(handle: number): TPromise { + $unregister(handle: number): void { let registration = this._registrations[handle]; if (registration) { registration.dispose(); delete this._registrations[handle]; } - return undefined; } //#region --- revive functions @@ -110,18 +109,17 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha // --- outline - $registerOutlineSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerOutlineSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.DocumentSymbolProviderRegistry.register(toLanguageSelector(selector), { provideDocumentSymbols: (model: IReadOnlyModel, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideDocumentSymbols(handle, model.uri)).then(MainThreadLanguageFeatures._reviveSymbolInformationDto); } }); - return undefined; } // --- code lens - $registerCodeLensSupport(handle: number, selector: vscode.DocumentSelector, eventHandle: number): TPromise { + $registerCodeLensSupport(handle: number, selector: vscode.DocumentSelector, eventHandle: number): void { const provider = { provideCodeLenses: (model: IReadOnlyModel, token: CancellationToken): modes.ICodeLensSymbol[] | Thenable => { @@ -139,111 +137,100 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha } this._registrations[handle] = modes.CodeLensProviderRegistry.register(toLanguageSelector(selector), provider); - return undefined; } - $emitCodeLensEvent(eventHandle: number, event?: any): TPromise { + $emitCodeLensEvent(eventHandle: number, event?: any): void { const obj = this._registrations[eventHandle]; if (obj instanceof Emitter) { obj.fire(event); } - return undefined; } // --- declaration - $registerDeclaractionSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerDeclaractionSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.DefinitionProviderRegistry.register(toLanguageSelector(selector), { provideDefinition: (model, position, token): Thenable => { return wireCancellationToken(token, this._proxy.$provideDefinition(handle, model.uri, position)).then(MainThreadLanguageFeatures._reviveLocationDto); } }); - return undefined; } - $registerImplementationSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerImplementationSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.ImplementationProviderRegistry.register(toLanguageSelector(selector), { provideImplementation: (model, position, token): Thenable => { return wireCancellationToken(token, this._proxy.$provideImplementation(handle, model.uri, position)).then(MainThreadLanguageFeatures._reviveLocationDto); } }); - return undefined; } - $registerTypeDefinitionSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerTypeDefinitionSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.TypeDefinitionProviderRegistry.register(toLanguageSelector(selector), { provideTypeDefinition: (model, position, token): Thenable => { return wireCancellationToken(token, this._proxy.$provideTypeDefinition(handle, model.uri, position)).then(MainThreadLanguageFeatures._reviveLocationDto); } }); - return undefined; } // --- extra info - $registerHoverProvider(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerHoverProvider(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.HoverProviderRegistry.register(toLanguageSelector(selector), { provideHover: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideHover(handle, model.uri, position)); } }); - return undefined; } // --- occurrences - $registerDocumentHighlightProvider(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerDocumentHighlightProvider(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.DocumentHighlightProviderRegistry.register(toLanguageSelector(selector), { provideDocumentHighlights: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideDocumentHighlights(handle, model.uri, position)); } }); - return undefined; } // --- references - $registerReferenceSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerReferenceSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.ReferenceProviderRegistry.register(toLanguageSelector(selector), { provideReferences: (model: IReadOnlyModel, position: EditorPosition, context: modes.ReferenceContext, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideReferences(handle, model.uri, position, context)).then(MainThreadLanguageFeatures._reviveLocationDto); } }); - return undefined; } // --- quick fix - $registerQuickFixSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerQuickFixSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.CodeActionProviderRegistry.register(toLanguageSelector(selector), { provideCodeActions: (model: IReadOnlyModel, range: EditorRange, token: CancellationToken): Thenable => { return this._heapService.trackRecursive(wireCancellationToken(token, this._proxy.$provideCodeActions(handle, model.uri, range))).then(MainThreadLanguageFeatures._reviveCodeActionDto); } }); - return undefined; } // --- formatting - $registerDocumentFormattingSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerDocumentFormattingSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.DocumentFormattingEditProviderRegistry.register(toLanguageSelector(selector), { provideDocumentFormattingEdits: (model: IReadOnlyModel, options: modes.FormattingOptions, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideDocumentFormattingEdits(handle, model.uri, options)); } }); - return undefined; } - $registerRangeFormattingSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerRangeFormattingSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.DocumentRangeFormattingEditProviderRegistry.register(toLanguageSelector(selector), { provideDocumentRangeFormattingEdits: (model: IReadOnlyModel, range: EditorRange, options: modes.FormattingOptions, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideDocumentRangeFormattingEdits(handle, model.uri, range, options)); } }); - return undefined; } - $registerOnTypeFormattingSupport(handle: number, selector: vscode.DocumentSelector, autoFormatTriggerCharacters: string[]): TPromise { + $registerOnTypeFormattingSupport(handle: number, selector: vscode.DocumentSelector, autoFormatTriggerCharacters: string[]): void { this._registrations[handle] = modes.OnTypeFormattingEditProviderRegistry.register(toLanguageSelector(selector), { autoFormatTriggerCharacters, @@ -252,12 +239,11 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return wireCancellationToken(token, this._proxy.$provideOnTypeFormattingEdits(handle, model.uri, position, ch, options)); } }); - return undefined; } // --- navigate type - $registerNavigateTypeSupport(handle: number): TPromise { + $registerNavigateTypeSupport(handle: number): void { let lastResultId: number; this._registrations[handle] = WorkspaceSymbolProviderRegistry.register({ provideWorkspaceSymbols: (search: string): TPromise => { @@ -273,23 +259,21 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return this._proxy.$resolveWorkspaceSymbol(handle, item).then(i => MainThreadLanguageFeatures._reviveSymbolInformationDto(i)); } }); - return undefined; } // --- rename - $registerRenameSupport(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerRenameSupport(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.RenameProviderRegistry.register(toLanguageSelector(selector), { provideRenameEdits: (model: IReadOnlyModel, position: EditorPosition, newName: string, token: CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideRenameEdits(handle, model.uri, position, newName)).then(MainThreadLanguageFeatures._reviveWorkspaceEditDto); } }); - return undefined; } // --- suggest - $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[], supportsResolveDetails: boolean): TPromise { + $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[], supportsResolveDetails: boolean): void { this._registrations[handle] = modes.SuggestRegistry.register(toLanguageSelector(selector), { triggerCharacters, provideCompletionItems: (model: IReadOnlyModel, position: EditorPosition, context: modes.SuggestContext, token: CancellationToken): Thenable => { @@ -308,12 +292,11 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha ? (model, position, suggestion, token) => wireCancellationToken(token, this._proxy.$resolveCompletionItem(handle, model.uri, position, suggestion)) : undefined }); - return undefined; } // --- parameter hints - $registerSignatureHelpProvider(handle: number, selector: vscode.DocumentSelector, triggerCharacter: string[]): TPromise { + $registerSignatureHelpProvider(handle: number, selector: vscode.DocumentSelector, triggerCharacter: string[]): void { this._registrations[handle] = modes.SignatureHelpProviderRegistry.register(toLanguageSelector(selector), { signatureHelpTriggerCharacters: triggerCharacter, @@ -323,12 +306,11 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha } }); - return undefined; } // --- links - $registerDocumentLinkProvider(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerDocumentLinkProvider(handle: number, selector: vscode.DocumentSelector): void { this._registrations[handle] = modes.LinkProviderRegistry.register(toLanguageSelector(selector), { provideLinks: (model, token) => { return this._heapService.trackRecursive(wireCancellationToken(token, this._proxy.$provideDocumentLinks(handle, model.uri))); @@ -337,12 +319,11 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return wireCancellationToken(token, this._proxy.$resolveDocumentLink(handle, link)); } }); - return undefined; } // --- colors - $registerDocumentColorProvider(handle: number, selector: vscode.DocumentSelector): TPromise { + $registerDocumentColorProvider(handle: number, selector: vscode.DocumentSelector): void { const proxy = this._proxy; this._registrations[handle] = modes.ColorProviderRegistry.register(toLanguageSelector(selector), { provideDocumentColors: (model, token) => { @@ -372,8 +353,6 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha })); } }); - - return TPromise.as(null); } // --- configuration @@ -421,7 +400,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha return onEnterRules.map(MainThreadLanguageFeatures._reviveOnEnterRule); } - $setLanguageConfiguration(handle: number, languageId: string, _configuration: ISerializedLanguageConfiguration): TPromise { + $setLanguageConfiguration(handle: number, languageId: string, _configuration: ISerializedLanguageConfiguration): void { let configuration: LanguageConfiguration = { comments: _configuration.comments, @@ -453,8 +432,6 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha if (languageIdentifier) { this._registrations[handle] = LanguageConfigurationRegistry.register(languageIdentifier, configuration); } - - return undefined; } } diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index 4db1eb79fae..612c03dcf49 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -276,27 +276,27 @@ export interface ISerializedLanguageConfiguration { } export interface MainThreadLanguageFeaturesShape extends IDisposable { - $unregister(handle: number): TPromise; - $registerOutlineSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerCodeLensSupport(handle: number, selector: vscode.DocumentSelector, eventHandle: number): TPromise; - $emitCodeLensEvent(eventHandle: number, event?: any): TPromise; - $registerDeclaractionSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerImplementationSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerTypeDefinitionSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerHoverProvider(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerDocumentHighlightProvider(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerReferenceSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerQuickFixSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerDocumentFormattingSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerRangeFormattingSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerOnTypeFormattingSupport(handle: number, selector: vscode.DocumentSelector, autoFormatTriggerCharacters: string[]): TPromise; - $registerNavigateTypeSupport(handle: number): TPromise; - $registerRenameSupport(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[], supportsResolveDetails: boolean): TPromise; - $registerSignatureHelpProvider(handle: number, selector: vscode.DocumentSelector, triggerCharacter: string[]): TPromise; - $registerDocumentLinkProvider(handle: number, selector: vscode.DocumentSelector): TPromise; - $registerDocumentColorProvider(handle: number, selector: vscode.DocumentSelector): TPromise; - $setLanguageConfiguration(handle: number, languageId: string, configuration: ISerializedLanguageConfiguration): TPromise; + $unregister(handle: number): void; + $registerOutlineSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerCodeLensSupport(handle: number, selector: vscode.DocumentSelector, eventHandle: number): void; + $emitCodeLensEvent(eventHandle: number, event?: any): void; + $registerDeclaractionSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerImplementationSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerTypeDefinitionSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerHoverProvider(handle: number, selector: vscode.DocumentSelector): void; + $registerDocumentHighlightProvider(handle: number, selector: vscode.DocumentSelector): void; + $registerReferenceSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerQuickFixSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerDocumentFormattingSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerRangeFormattingSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerOnTypeFormattingSupport(handle: number, selector: vscode.DocumentSelector, autoFormatTriggerCharacters: string[]): void; + $registerNavigateTypeSupport(handle: number): void; + $registerRenameSupport(handle: number, selector: vscode.DocumentSelector): void; + $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[], supportsResolveDetails: boolean): void; + $registerSignatureHelpProvider(handle: number, selector: vscode.DocumentSelector, triggerCharacter: string[]): void; + $registerDocumentLinkProvider(handle: number, selector: vscode.DocumentSelector): void; + $registerDocumentColorProvider(handle: number, selector: vscode.DocumentSelector): void; + $setLanguageConfiguration(handle: number, languageId: string, configuration: ISerializedLanguageConfiguration): void; } export interface MainThreadLanguagesShape extends IDisposable {