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[]>; 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. * Get diagnostic messages related to the current compiler options.
* @param fileName Not used * @param fileName Not used

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

Loading…
Cancel
Save