public void UseSpectreAnsiConsole_should_register_IAnsiConsole_as_resolveable_parameter() { AnsiConsole.Record(); var result = new AppRunner <App>() .UseSpectreAnsiConsole() .RunInMem("Ansi lala"); result.ExitCode.Should().Be(0); AnsiConsole.ExportText().Should().Be("lala"); result.Console.AllText().Should().BeEmpty(); }
public void Console_should_forward_to_AnsiConsole() { AnsiConsole.Record(); var result = new AppRunner <App>() .UseSpectreAnsiConsole() .RunInMem("Console lala"); result.ExitCode.Should().Be(0); result.Console.AllText().Should().Be(@"lala"); AnsiConsole.ExportText().Should().BeEmpty("lala"); }
public override bool Execute(LamarServicesInput input) { if (input.FileFlag.IsNotEmpty()) { AnsiConsole.Record(); } AnsiConsole.Render(new FigletText("Lamar") { Color = Color.Blue }); using (var host = input.BuildHost()) { var container = (IContainer)host.Services; // TODO -- check for the interactive mode here. var configurations = input.Query(container) .GroupBy(x => x.ServiceType.ResolveServiceType().Assembly) .OrderBy(x => x.Key.FullName) .ToArray(); var display = input.BuildPlansFlag ? WhatDoIHaveDisplay.BuildPlan : WhatDoIHaveDisplay.Summary; WriteSummaries(input, configurations, display, container); if (input.FileFlag.IsNotEmpty()) { var fullPath = input.FileFlag.ToFullPath(); Console.WriteLine("Writing the query results to " + fullPath); var extension = Path.GetExtension(fullPath); if (extension.EndsWith("htm", StringComparison.OrdinalIgnoreCase) || extension.EndsWith("html", StringComparison.OrdinalIgnoreCase)) { File.WriteAllText(fullPath, AnsiConsole.ExportHtml()); } else { File.WriteAllText(fullPath, AnsiConsole.ExportText()); } } } return(true); }