mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-14 16:02:50 +08:00

* 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
1.2 KiB
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",
};
}