Merge pull request #56 from orta/allow_access_to_dts

Allow access to read files which workers host, notably the default dts
pull/2748/head
Alexandru Dima 5 years ago committed by GitHub
commit 6d49c51b83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

5
src/monaco.d.ts vendored

@ -275,6 +275,11 @@ declare module monaco.languages.typescript {
*/
getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
/**
* Get the content of a given file.
*/
getScriptText(fileName: string): Promise<string | undefined>;
/**
* Get diagnostic messages related to the current compiler options.
* @param fileName Not used

@ -69,7 +69,11 @@ export class TypeScriptWorker implements ts.LanguageServiceHost, monaco.language
return '';
}
getScriptSnapshot(fileName: string): ts.IScriptSnapshot | undefined {
getScriptText(fileName: string): Promise<string | undefined> {
return Promise.resolve(this._getScriptText(fileName));
}
_getScriptText(fileName: string): string | undefined {
let text: string;
let model = this._getModel(fileName);
if (model) {
@ -88,6 +92,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 +213,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> {

Loading…
Cancel
Save