spectre.console icon indicating copy to clipboard operation
spectre.console copied to clipboard

Status does not render correctly when output is wrapped

Open kevingosse opened this issue 3 years ago • 0 comments

Information

  • OS: Windows
  • Version: 0.43.0, the issue is still there in 0.43.1-preview.0.19
  • Terminal: Tested with Windows Terminal and with the built-in cmd

Describe the bug When a line is wrapped because it's bigger than the console width, the status will overwrite it.

To Reproduce

        static async Task<int> Main(string[] args)
        {
            AnsiConsole.Status()
                .Start("1234567890123456789", ctx =>
                {
                    Thread.Sleep(1000);

                    AnsiConsole.WriteLine(new string('x', Console.WindowWidth + 10));
                });

            return 0;

Expected behavior The status should be displayed below the wrapped line.

Screenshots

First execution with Console.WindowWidth characters, no problem. Second execution with Console.WindowWidth + 10 characters, part of the line gets overwritten by the status. image

Additional context It looks like a variation of https://github.com/spectreconsole/spectre.console/issues/415

kevingosse avatar Jan 17 '22 11:01 kevingosse