Skip to content

Status does not render correctly when output is wrapped #694

@kevingosse

Description

@kevingosse

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 #415

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done 🚀

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions