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); }
public void RegisterSourceFile(AvaloniaEdit.TextEditor editor, ISourceFile file, TextDocument textDocument) { _typeScriptContext = _typeScriptContext ?? ((TypeScriptProject)file.Project).TypeScriptContext; _typeScriptContext.OpenFile(file.FilePath, File.ReadAllText(file.FilePath)); TypeScriptDataAssociation association = null; if (dataAssociations.TryGetValue(file, out association)) { throw new InvalidOperationException("Source file already registered with language service."); } association = new TypeScriptDataAssociation(); dataAssociations.Add(file, association); }