Explorar o código

Allow access to read files which workers host, notably the default dts

Orta Therox %!s(int64=5) %!d(string=hai) anos
pai
achega
a5b927fca1
Modificáronse 1 ficheiros con 14 adicións e 5 borrados
  1. 14 5
      src/tsWorker.ts

+ 14 - 5
src/tsWorker.ts

@@ -69,7 +69,7 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, monaco.language
 		return '';
 	}
 
-	getScriptSnapshot(fileName: string): ts.IScriptSnapshot | undefined {
+	getScriptText(fileName: string): string | undefined {
 		let text: string;
 		let model = this._getModel(fileName);
 		if (model) {
@@ -88,6 +88,15 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, monaco.language
 			return;
 		}
 
+		return text;
+	}
+
+	getScriptSnapshot(fileName: string): ts.IScriptSnapshot | undefined {
+		const text = this.getScriptText(fileName);
+		if (!text) {
+			return;
+		}
+
 		return <ts.IScriptSnapshot>{
 			getText: (start, end) => text.substring(start, end),
 			getLength: () => text.length,
@@ -200,12 +209,12 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, monaco.language
 		return Promise.resolve(this._languageService.getFormattingEditsAfterKeystroke(fileName, postion, ch, options));
 	}
 
-	findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly ts.RenameLocation[] | undefined> {
-		return Promise.resolve(this._languageService.findRenameLocations(fileName, positon, findInStrings, findInComments, providePrefixAndSuffixTextForRename));
+	findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly ts.RenameLocation[] | undefined> {
+		return Promise.resolve(this._languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename));
 	}
 
-	getRenameInfo(fileName: string, positon: number, options: ts.RenameInfoOptions): Promise<ts.RenameInfo> {
-		return Promise.resolve(this._languageService.getRenameInfo(fileName, positon, options));
+	getRenameInfo(fileName: string, position: number, options: ts.RenameInfoOptions): Promise<ts.RenameInfo> {
+		return Promise.resolve(this._languageService.getRenameInfo(fileName, position, options));
 	}
 
 	getEmitOutput(fileName: string): Promise<ts.EmitOutput> {