From ff1c7a5a5cc28c99f09bf0a606d508ca64489564 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Mon, 7 Sep 2020 14:44:01 +0200 Subject: [PATCH] Stop using `Thenable` --- src/cssWorker.ts | 27 +++++++++++++-------------- src/languageFeatures.ts | 23 +++++++++++------------ 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/cssWorker.ts b/src/cssWorker.ts index b32074e7..2e2aece5 100644 --- a/src/cssWorker.ts +++ b/src/cssWorker.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import Thenable = monaco.Thenable; import IWorkerContext = monaco.worker.IWorkerContext; import * as cssService from 'vscode-css-languageservice'; @@ -40,7 +39,7 @@ export class CSSWorker { // --- language service host --------------- - doValidation(uri: string): Thenable { + async doValidation(uri: string): Promise { let document = this._getTextDocument(uri); if (document) { let stylesheet = this._languageService.parseStylesheet(document); @@ -49,72 +48,72 @@ export class CSSWorker { } return Promise.resolve([]); } - doComplete(uri: string, position: cssService.Position): Thenable { + async doComplete(uri: string, position: cssService.Position): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let completions = this._languageService.doComplete(document, position, stylesheet); return Promise.resolve(completions); } - doHover(uri: string, position: cssService.Position): Thenable { + async doHover(uri: string, position: cssService.Position): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let hover = this._languageService.doHover(document, position, stylesheet); return Promise.resolve(hover); } - findDefinition(uri: string, position: cssService.Position): Thenable { + async findDefinition(uri: string, position: cssService.Position): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let definition = this._languageService.findDefinition(document, position, stylesheet); return Promise.resolve(definition); } - findReferences(uri: string, position: cssService.Position): Thenable { + async findReferences(uri: string, position: cssService.Position): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let references = this._languageService.findReferences(document, position, stylesheet); return Promise.resolve(references); } - findDocumentHighlights(uri: string, position: cssService.Position): Thenable { + async findDocumentHighlights(uri: string, position: cssService.Position): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let highlights = this._languageService.findDocumentHighlights(document, position, stylesheet); return Promise.resolve(highlights); } - findDocumentSymbols(uri: string): Thenable { + async findDocumentSymbols(uri: string): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let symbols = this._languageService.findDocumentSymbols(document, stylesheet); return Promise.resolve(symbols); } - doCodeActions(uri: string, range: cssService.Range, context: cssService.CodeActionContext): Thenable { + async doCodeActions(uri: string, range: cssService.Range, context: cssService.CodeActionContext): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let actions = this._languageService.doCodeActions(document, range, context, stylesheet); return Promise.resolve(actions); } - findDocumentColors(uri: string): Thenable { + async findDocumentColors(uri: string): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let colorSymbols = this._languageService.findDocumentColors(document, stylesheet); return Promise.resolve(colorSymbols); } - getColorPresentations(uri: string, color: cssService.Color, range: cssService.Range): Thenable { + async getColorPresentations(uri: string, color: cssService.Color, range: cssService.Range): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let colorPresentations = this._languageService.getColorPresentations(document, stylesheet, color, range); return Promise.resolve(colorPresentations); } - getFoldingRanges(uri: string, context?: { rangeLimit?: number; }): Thenable { + async getFoldingRanges(uri: string, context?: { rangeLimit?: number; }): Promise { let document = this._getTextDocument(uri); let ranges = this._languageService.getFoldingRanges(document, context); return Promise.resolve(ranges); } - getSelectionRanges(uri: string, positions: cssService.Position[]): Thenable { + async getSelectionRanges(uri: string, positions: cssService.Position[]): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let ranges = this._languageService.getSelectionRanges(document, positions, stylesheet); return Promise.resolve(ranges); } - doRename(uri: string, position: cssService.Position, newName: string): Thenable { + async doRename(uri: string, position: cssService.Position, newName: string): Promise { let document = this._getTextDocument(uri); let stylesheet = this._languageService.parseStylesheet(document); let renames = this._languageService.doRename(document, position, newName, stylesheet); diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index 8529d9ed..77193950 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -13,7 +13,6 @@ import Uri = monaco.Uri; import Position = monaco.Position; import IRange = monaco.IRange; import Range = monaco.Range; -import Thenable = monaco.Thenable; import CancellationToken = monaco.CancellationToken; import IDisposable = monaco.IDisposable; @@ -198,7 +197,7 @@ export class CompletionAdapter implements monaco.languages.CompletionItemProvide return [' ', ':']; } - provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.CompletionContext, token: CancellationToken): Thenable { + provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.CompletionContext, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -285,7 +284,7 @@ export class HoverAdapter implements monaco.languages.HoverProvider { constructor(private _worker: WorkerAccessor) { } - provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable { + provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Promise { let resource = model.uri; return this._worker(resource).then(worker => { @@ -319,7 +318,7 @@ export class DocumentHighlightAdapter implements monaco.languages.DocumentHighli constructor(private _worker: WorkerAccessor) { } - public provideDocumentHighlights(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable { + public provideDocumentHighlights(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -352,7 +351,7 @@ export class DefinitionAdapter { constructor(private _worker: WorkerAccessor) { } - public provideDefinition(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable { + public provideDefinition(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -373,7 +372,7 @@ export class ReferenceAdapter implements monaco.languages.ReferenceProvider { constructor(private _worker: WorkerAccessor) { } - provideReferences(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.ReferenceContext, token: CancellationToken): Thenable { + provideReferences(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.ReferenceContext, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -418,7 +417,7 @@ export class RenameAdapter implements monaco.languages.RenameProvider { constructor(private _worker: WorkerAccessor) { } - provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Thenable { + provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -463,7 +462,7 @@ export class DocumentSymbolAdapter implements monaco.languages.DocumentSymbolPro constructor(private _worker: WorkerAccessor) { } - public provideDocumentSymbols(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable { + public provideDocumentSymbols(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.findDocumentSymbols(resource.toString())).then(items => { @@ -488,7 +487,7 @@ export class DocumentColorAdapter implements monaco.languages.DocumentColorProvi constructor(private _worker: WorkerAccessor) { } - public provideDocumentColors(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable { + public provideDocumentColors(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.findDocumentColors(resource.toString())).then(infos => { @@ -502,7 +501,7 @@ export class DocumentColorAdapter implements monaco.languages.DocumentColorProvi }); } - public provideColorPresentations(model: monaco.editor.IReadOnlyModel, info: monaco.languages.IColorInformation, token: CancellationToken): Thenable { + public provideColorPresentations(model: monaco.editor.IReadOnlyModel, info: monaco.languages.IColorInformation, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range))).then(presentations => { @@ -530,7 +529,7 @@ export class FoldingRangeAdapter implements monaco.languages.FoldingRangeProvide constructor(private _worker: WorkerAccessor) { } - public provideFoldingRanges(model: monaco.editor.IReadOnlyModel, context: monaco.languages.FoldingContext, token: CancellationToken): Thenable { + public provideFoldingRanges(model: monaco.editor.IReadOnlyModel, context: monaco.languages.FoldingContext, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.getFoldingRanges(resource.toString(), context)).then(ranges => { @@ -565,7 +564,7 @@ export class SelectionRangeAdapter implements monaco.languages.SelectionRangePro constructor(private _worker: WorkerAccessor) { } - public provideSelectionRanges(model: monaco.editor.IReadOnlyModel, positions: Position[], token: CancellationToken): Thenable { + public provideSelectionRanges(model: monaco.editor.IReadOnlyModel, positions: Position[], token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.getSelectionRanges(resource.toString(), positions.map(fromPosition))).then(selectionRanges => {