using System.CommandLine; using MycroForge.CLI; using MycroForge.CLI.Extensions; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using var host = Host .CreateDefaultBuilder() .ConfigureServices((_, services) => { services .AddServices(args) .AddCommands(); }) .Build(); try { var ctx = host.Services.GetRequiredService(); await ctx.LoadConfig(); await host.Services.GetRequiredService().InvokeAsync(args); await ctx.SaveConfig(); } catch(Exception e) { Console.WriteLine(e.Message); } // using MycroForge.CLI.CodeGen; // using MycroForge.Parsing; // // var src = new Tester().Rewrite(); // Console.WriteLine(src); // // class Tester : PythonSourceModifier // { // public Tester() : base(File.ReadAllText("scripts/user.py")) // { // // } // // public override object? VisitAssignment(PythonParser.AssignmentContext context) // { // Console.WriteLine(GetOriginalText(context)); // return base.VisitAssignment(context); // } // } // using MycroForge.CLI.CodeGen; // var src = new EntityModifier(await File.ReadAllTextAsync("scripts/user.py")).Rewrite(); // Console.WriteLine(src);