Phil Scott 223642b797
Add blog to docs (#484)
* Adding social card infrastructure
* Upgrades doc project to .NET 6
* Adds Playwright
* Changes the console to a web project for Playwright
* Adds social card template
* Added blog content
* Parallelized social image processing
* Updating CI to use .NET 6 for docs build
2021-07-15 19:53:01 +02:00

1.2 KiB

Title: Spinners Order: 4 Description: "Spectre.Console supports over 80 different types of spinners, and allows new ones to be defined. They are used automatically with the controls" Highlights: - Status display - Progress display

For all available spinners, see https://jsfiddle.net/sindresorhus/2eLtsbey/embedded/result/

Usage

Spinners can be used with Progress and Status.

AnsiConsole.Status()
    .Spinner(Spinner.Known.Star)
    .Start("Thinking...", ctx => {
        // Omitted
    });

Implementing a spinner

To implement your own spinner, all you have to do is inherit from the Spinner base class.

In the example below, the spinner will alterate between the characters A, B and C every 100 ms.

public sealed class MySpinner : Spinner
{
    // The interval for each frame
    public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
    
    // Whether or not the spinner contains unicode characters
    public override bool IsUnicode => false;

    // The individual frames of the spinner
    public override IReadOnlyList<string> Frames => 
        new List<string>
        {
            "A", "B", "C",
        };
}