diff --git a/src/tsWorker.ts b/src/tsWorker.ts index 32b9a6bb..e0049e92 100644 --- a/src/tsWorker.ts +++ b/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 { 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 { - return Promise.resolve(this._languageService.findRenameLocations(fileName, positon, findInStrings, findInComments, providePrefixAndSuffixTextForRename)); + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise { + return Promise.resolve(this._languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename)); } - getRenameInfo(fileName: string, positon: number, options: ts.RenameInfoOptions): Promise { - return Promise.resolve(this._languageService.getRenameInfo(fileName, positon, options)); + getRenameInfo(fileName: string, position: number, options: ts.RenameInfoOptions): Promise { + return Promise.resolve(this._languageService.getRenameInfo(fileName, position, options)); } getEmitOutput(fileName: string): Promise {