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");
        }
Пример #3
0
        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);
        }