diff --git a/src/htmlWorker.ts b/src/htmlWorker.ts index 884ac6d4..d3b0241b 100644 --- a/src/htmlWorker.ts +++ b/src/htmlWorker.ts @@ -6,8 +6,6 @@ import IWorkerContext = monaco.worker.IWorkerContext; -import Thenable = monaco.Thenable; - import * as htmlService from 'vscode-html-languageservice'; import * as poli from './fillers/polyfills'; @@ -28,54 +26,54 @@ export class HTMLWorker { this._languageService = htmlService.getLanguageService(); } - doValidation(uri: string): Thenable { + async doValidation(uri: string): Promise { // not yet suported return Promise.resolve([]); } - doComplete(uri: string, position: htmlService.Position): Thenable { + async doComplete(uri: string, position: htmlService.Position): Promise { let document = this._getTextDocument(uri); let htmlDocument = this._languageService.parseHTMLDocument(document); return Promise.resolve(this._languageService.doComplete(document, position, htmlDocument, this._languageSettings && this._languageSettings.suggest)); } - format(uri: string, range: htmlService.Range, options: htmlService.FormattingOptions): Thenable { + async format(uri: string, range: htmlService.Range, options: htmlService.FormattingOptions): Promise { let document = this._getTextDocument(uri); let textEdits = this._languageService.format(document, range, this._languageSettings && this._languageSettings.format); return Promise.resolve(textEdits); } - doHover(uri: string, position: htmlService.Position): Thenable { + async doHover(uri: string, position: htmlService.Position): Promise { let document = this._getTextDocument(uri); let htmlDocument = this._languageService.parseHTMLDocument(document); let hover = this._languageService.doHover(document, position, htmlDocument); return Promise.resolve(hover); } - findDocumentHighlights(uri: string, position: htmlService.Position): Thenable { + async findDocumentHighlights(uri: string, position: htmlService.Position): Promise { let document = this._getTextDocument(uri); let htmlDocument = this._languageService.parseHTMLDocument(document); let highlights = this._languageService.findDocumentHighlights(document, position, htmlDocument); return Promise.resolve(highlights); } - findDocumentLinks(uri: string): Thenable { + async findDocumentLinks(uri: string): Promise { let document = this._getTextDocument(uri); let links = this._languageService.findDocumentLinks(document, null); return Promise.resolve(links); } - findDocumentSymbols(uri: string): Thenable { + async findDocumentSymbols(uri: string): Promise { let document = this._getTextDocument(uri); let htmlDocument = this._languageService.parseHTMLDocument(document); let symbols = this._languageService.findDocumentSymbols(document, htmlDocument); return Promise.resolve(symbols); } - 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: htmlService.Position[]): Thenable { + async getSelectionRanges(uri: string, positions: htmlService.Position[]): Promise { let document = this._getTextDocument(uri); let ranges = this._languageService.getSelectionRanges(document, positions); return Promise.resolve(ranges); } - doRename(uri: string, position: htmlService.Position, newName: string): Thenable { + async doRename(uri: string, position: htmlService.Position, newName: string): Promise { let document = this._getTextDocument(uri); let htmlDocument = this._languageService.parseHTMLDocument(document); let renames = this._languageService.doRename(document, position, newName, htmlDocument); diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index 75737f23..b28b6bbb 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -12,13 +12,12 @@ import * as htmlService from 'vscode-html-languageservice'; import Uri = monaco.Uri; import Position = monaco.Position; import Range = monaco.Range; -import Thenable = monaco.Thenable; import CancellationToken = monaco.CancellationToken; import IDisposable = monaco.IDisposable; export interface WorkerAccessor { - (...more: Uri[]): Thenable + (...more: Uri[]): Promise } // --- diagnostics --- --- @@ -221,7 +220,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 => { @@ -306,7 +305,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 => { @@ -342,7 +341,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 => worker.findDocumentHighlights(resource.toString(), fromPosition(position))).then(items => { @@ -390,7 +389,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 => { @@ -415,7 +414,7 @@ export class DocumentLinkAdapter implements monaco.languages.LinkProvider { constructor(private _worker: WorkerAccessor) { } - public provideLinks(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable { + public provideLinks(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => worker.findDocumentLinks(resource.toString())).then(items => { @@ -445,7 +444,7 @@ export class DocumentFormattingEditProvider implements monaco.languages.Document constructor(private _worker: WorkerAccessor) { } - public provideDocumentFormattingEdits(model: monaco.editor.IReadOnlyModel, options: monaco.languages.FormattingOptions, token: CancellationToken): Thenable { + public provideDocumentFormattingEdits(model: monaco.editor.IReadOnlyModel, options: monaco.languages.FormattingOptions, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -464,7 +463,7 @@ export class DocumentRangeFormattingEditProvider implements monaco.languages.Doc constructor(private _worker: WorkerAccessor) { } - public provideDocumentRangeFormattingEdits(model: monaco.editor.IReadOnlyModel, range: Range, options: monaco.languages.FormattingOptions, token: CancellationToken): Thenable { + public provideDocumentRangeFormattingEdits(model: monaco.editor.IReadOnlyModel, range: Range, options: monaco.languages.FormattingOptions, token: CancellationToken): Promise { const resource = model.uri; return this._worker(resource).then(worker => { @@ -483,7 +482,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 => { @@ -521,7 +520,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 => { @@ -556,7 +555,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 => {