Kaynağa Gözat

Stop using `Thenable`

Alex Dima 4 yıl önce
ebeveyn
işleme
98cc547869
2 değiştirilmiş dosya ile 21 ekleme ve 24 silme
  1. 10 12
      src/htmlWorker.ts
  2. 11 12
      src/languageFeatures.ts

+ 10 - 12
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<htmlService.Diagnostic[]> {
+	async doValidation(uri: string): Promise<htmlService.Diagnostic[]> {
 		// not yet suported
 		return Promise.resolve([]);
 	}
-	doComplete(uri: string, position: htmlService.Position): Thenable<htmlService.CompletionList> {
+	async doComplete(uri: string, position: htmlService.Position): Promise<htmlService.CompletionList> {
 		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<htmlService.TextEdit[]> {
+	async format(uri: string, range: htmlService.Range, options: htmlService.FormattingOptions): Promise<htmlService.TextEdit[]> {
 		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<htmlService.Hover> {
+	async doHover(uri: string, position: htmlService.Position): Promise<htmlService.Hover> {
 		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<htmlService.DocumentHighlight[]> {
+	async findDocumentHighlights(uri: string, position: htmlService.Position): Promise<htmlService.DocumentHighlight[]> {
 		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<htmlService.DocumentLink[]> {
+	async findDocumentLinks(uri: string): Promise<htmlService.DocumentLink[]> {
 		let document = this._getTextDocument(uri);
 		let links = this._languageService.findDocumentLinks(document, null);
 		return Promise.resolve(links);
 	}
-	findDocumentSymbols(uri: string): Thenable<htmlService.SymbolInformation[]> {
+	async findDocumentSymbols(uri: string): Promise<htmlService.SymbolInformation[]> {
 		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<htmlService.FoldingRange[]> {
+	async getFoldingRanges(uri: string, context?: { rangeLimit?: number; }): Promise<htmlService.FoldingRange[]> {
 		let document = this._getTextDocument(uri);
 		let ranges = this._languageService.getFoldingRanges(document, context);
 		return Promise.resolve(ranges);
 	}
-	getSelectionRanges(uri: string, positions: htmlService.Position[]): Thenable<htmlService.SelectionRange[]> {
+	async getSelectionRanges(uri: string, positions: htmlService.Position[]): Promise<htmlService.SelectionRange[]> {
 		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<htmlService.WorkspaceEdit> {
+	async doRename(uri: string, position: htmlService.Position, newName: string): Promise<htmlService.WorkspaceEdit> {
 		let document = this._getTextDocument(uri);
 		let htmlDocument = this._languageService.parseHTMLDocument(document);
 		let renames = this._languageService.doRename(document, position, newName, htmlDocument);

+ 11 - 12
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<HTMLWorker>
+	(...more: Uri[]): Promise<HTMLWorker>
 }
 
 // --- 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<monaco.languages.CompletionList> {
+	provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.CompletionContext, token: CancellationToken): Promise<monaco.languages.CompletionList> {
 		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<monaco.languages.Hover> {
+	provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Promise<monaco.languages.Hover> {
 		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<monaco.languages.DocumentHighlight[]> {
+	public provideDocumentHighlights(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Promise<monaco.languages.DocumentHighlight[]> {
 		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<monaco.languages.DocumentSymbol[]> {
+	public provideDocumentSymbols(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Promise<monaco.languages.DocumentSymbol[]> {
 		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<monaco.languages.ILinksList> {
+	public provideLinks(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Promise<monaco.languages.ILinksList> {
 		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<monaco.editor.ISingleEditOperation[]> {
+	public provideDocumentFormattingEdits(model: monaco.editor.IReadOnlyModel, options: monaco.languages.FormattingOptions, token: CancellationToken): Promise<monaco.editor.ISingleEditOperation[]> {
 		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<monaco.editor.ISingleEditOperation[]> {
+	public provideDocumentRangeFormattingEdits(model: monaco.editor.IReadOnlyModel, range: Range, options: monaco.languages.FormattingOptions, token: CancellationToken): Promise<monaco.editor.ISingleEditOperation[]> {
 		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<monaco.languages.WorkspaceEdit> {
+	provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Promise<monaco.languages.WorkspaceEdit> {
 		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<monaco.languages.FoldingRange[]> {
+	public provideFoldingRanges(model: monaco.editor.IReadOnlyModel, context: monaco.languages.FoldingContext, token: CancellationToken): Promise<monaco.languages.FoldingRange[]> {
 		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<monaco.languages.SelectionRange[][]> {
+	public provideSelectionRanges(model: monaco.editor.IReadOnlyModel, positions: Position[], token: CancellationToken): Promise<monaco.languages.SelectionRange[][]> {
 		const resource = model.uri;
 
 		return this._worker(resource).then(worker => worker.getSelectionRanges(resource.toString(), positions.map(fromPosition))).then(selectionRanges => {