Example #1
0
        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);
        }
Example #2
0
        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);
        }