private static async Task RunMain() { var tsCtx = new TypeScriptContext(); await tsCtx.LoadComponentsAsync(); const string mainFileName = "main.ts"; //Load script string script = @" class Program { static main() { console.log(""Hello, World!""); } static other() { console.log(""Hello, Other World!""); } } Program.main(); Progra Program. Program.ot "; tsCtx.OpenFile(mainFileName, script); var classNameCompletionInfo = await tsCtx.GetCompletionsAtPositionAsync(mainFileName, 192 /* The 'Progra' line*/); var methodCompletionInfo = await tsCtx.GetCompletionsAtPositionAsync(mainFileName, 202 /* The 'Program.' line*/); var noCompletionsInfo = await tsCtx.GetCompletionsAtPositionAsync(mainFileName, script.Length - 2); }
private static async Task RunMain() { var tsCtx = new TypeScriptContext(); await tsCtx.LoadComponentsAsync(); var scriptSrc = @" class Program { static main() { console.log(""Hello, World!""); } } class Person { constructor(public name: string) { } public sayHello() { console.log(this.name + "" says hello!""); } } class IceCreamSandwich { constructor(public size: number) { } public add(a: number, b: number) { return a + b; } } let bob = new Person(""Bob""); bob.sayHello(); Program.main(); let num = (new IceCreamSandwich(11)).add(1, 2); // num = ""error""; "; var astJson = tsCtx.BuildAstJson("main.ts", scriptSrc); Console.WriteLine(astJson); Console.WriteLine("Analyzing and deserializing AST JSON:"); var tsAst = tsCtx.BuildAst("main.ts", scriptSrc); }
public async Task PrepareLanguageServiceAsync() { await _typeScriptContext.LoadComponentsAsync(); }