Skip to content

Update spinners#1873

Merged
patriksvensson merged 3 commits into
spectreconsole:mainfrom
FroggieFrog:update-spinners
Aug 3, 2025
Merged

Update spinners#1873
patriksvensson merged 3 commits into
spectreconsole:mainfrom
FroggieFrog:update-spinners

Conversation

@FroggieFrog
Copy link
Copy Markdown
Contributor

@FroggieFrog FroggieFrog commented Aug 2, 2025

fixes #1872

This PR updates the available Spinners according to https://github.com/sindresorhus/cli-spinners.
As part of the update there are a bunch of new Spinners available:

  • Dots13
  • Dots14
  • DotsCircle
  • Binary
  • FingerDance
  • FistBump
  • SoccerHeader
  • Mindblown
  • Speaker
  • OrangePulse
  • BluePulse
  • OrangeBluePulse
  • TimeTravel
  • DwarfFortress

spinner

  • I have read the Contribution Guidelines
  • I have commented on the issue above and discussed the intended changes
  • A maintainer has signed off on the changes and the issue was assigned to me
  • All newly added code is adequately covered by tests
  • All existing tests are still running without errors
  • The documentation was modified to reflect the changes OR no documentation changes are required.

Changes

used Testcode
        Console.OutputEncoding = System.Text.Encoding.Unicode;

        var delay = 3000;
        var message = "Thinking ...";

        await AnsiConsole.Status()
            .Spinner(Spinner.Known.Dots13)
            .StartAsync($"[bold red]{nameof(Spinner.Known.Dots13)}[/] {message}", async ctx =>
            {
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.Dots14;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.Dots14)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.DotsCircle;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.DotsCircle)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.Binary;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.Binary)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.FingerDance;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.FingerDance)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.FistBump;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.FistBump)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.SoccerHeader;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.SoccerHeader)}[/] {message}";
                await Task.Delay(delay * 2);

                ctx.Spinner = Spinner.Known.Mindblown;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.Mindblown)}[/] {message}";
                await Task.Delay(delay * 2);

                ctx.Spinner = Spinner.Known.Speaker;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.Speaker)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.OrangePulse;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.OrangePulse)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.BluePulse;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.BluePulse)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.OrangeBluePulse;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.OrangeBluePulse)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.TimeTravel;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.TimeTravel)}[/] {message}";
                await Task.Delay(delay);

                ctx.Spinner = Spinner.Known.DwarfFortress;
                ctx.Status = $"[bold red]{nameof(Spinner.Known.DwarfFortress)}[/] {message}";
                await Task.Delay(delay * 5);
            });

Please upvote 👍 this pull request if you are interested in it.

@FroggieFrog
Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

@FroggieFrog FroggieFrog marked this pull request as ready for review August 2, 2025 18:30
Copy link
Copy Markdown
Contributor

@patriksvensson patriksvensson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@patriksvensson
Copy link
Copy Markdown
Contributor

@FroggieFrog The build error is unrelated to your changes. I will fix that and notify you once it's done.

@github-actions github-actions Bot added the ⭐ top pull request Top pull request. label Aug 3, 2025
@github-actions github-actions Bot mentioned this pull request Aug 3, 2025
@patriksvensson patriksvensson merged commit 0889c2f into spectreconsole:main Aug 3, 2025
3 checks passed
@patriksvensson
Copy link
Copy Markdown
Contributor

Merged! Thank you for your contribution. Much appreciated! 👍

RicherTunes pushed a commit to RicherTunes/Lidarr.Plugin.Common that referenced this pull request May 28, 2026
Updated
[Spectre.Console](https://github.com/spectreconsole/spectre.console)
from 0.50.0 to 0.54.0.

<details>
<summary>Release notes</summary>

_Sourced from [Spectre.Console's
releases](https://github.com/spectreconsole/spectre.console/releases)._

## 0.54.0

Version `0.54.0` of Spectre.Console has been released!

## Spectre.Console.Cli has a new home!

We've decided to move `Spectre.Console.Cli` to its own repository, where
we will prepare it for a _1.0_ release. This means that the
_Spectre.Console.Cli_ NuGet packages will no longer be versioned
together with _Spectre.Console_. They will now have a preview version
such as `1.0.0-alpha-0.x`.

There should be no issues staying on version _0.53.0_ of
_Spectre.Console.Cli_ until we release a stable version if you prefer
not to use a pre-release dependency.

## New unit testing package for Spectre.Console.Cli

There is now a new testing package for _Spectre.Console.Cli_ called
[Spectre.Console.Cli.Testing](https://www.nuget.org/packages/Spectre.Console.Cli.Testing).
This is where you will find the `CommandAppTester` from now on.

You can find more information about unit testing in the
[documentation](https://spectreconsole.net/cli/unit-testing).

## What's Changed

* Normalizes paths when writing exceptions to the console for tests. by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1758](spectreconsole/spectre.console#1758)
* Fixes issue with Panel not applying overflow to children by
[@​phil-scott-78](https://github.com/phil-scott-78) in
[#​1942](spectreconsole/spectre.console#1942)
* Remove Spectre.Console.Cli from repository by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1928](spectreconsole/spectre.console#1928)

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.54.0

## 0.53.1

This is a hotfix release for 0.53.0, which accidentally included
`OpenCli.Sources` as a dependency, instead of being included in the
package.

As a bonus, a fix for panels was also included in this release 😄 

## What's Changed
* Ensure OpenCli.Sources are not a dependency of the CLI package. by
@​patriksvensson in d61788d6c681745c8d1158ceeb4545ba37a99522
* Normalizes paths when writing exceptions to the console for tests. by
@​phil-scott-78 in
spectreconsole/spectre.console#1758
* Fixes issue with Panel not applying overflow to children by
@​phil-scott-78 in
spectreconsole/spectre.console#1942

**Full Changelog**:
spectreconsole/spectre.console@0.53.0...0.53.1

## 0.53.0

## What's Changed

* Add top-level CancellationToken support to Spectre.Console.Cli by
[@​0xced](https://github.com/0xced) in
[#​1911](spectreconsole/spectre.console#1911)
* Update the Spectre.Console.Cli documentation with CancellationToken by
[@​0xced](https://github.com/0xced) in
[#​1920](spectreconsole/spectre.console#1920)

**Full Changelog**:
spectreconsole/spectre.console@0.52.0...0.53.0

## 0.52.0

## What's Changed

* Add OpenCLI integration to Spectre.Console.Cli by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1909](spectreconsole/spectre.console#1909)
* Fix OPENCLI_VISIBILITY_INTERNAL to DefineConstants concat by
[@​devlead](https://github.com/devlead) in
[#​1912](spectreconsole/spectre.console#1912)

**Full Changelog**:
spectreconsole/spectre.console@0.51.1...0.52.0

## 0.51.1

## What's Changed

* Fix IndexOutOfRangeException in ExceptionFormatter by
[@​martincostello](https://github.com/martincostello) in
[#​1800](spectreconsole/spectre.console#1800)
* TestConsole can now be configured and accessed in CommandAppTester by
[@​magiino](https://github.com/magiino) in
[#​1803](spectreconsole/spectre.console#1803)
* Add ShowRowSeparators in Table Widget docs by
[@​bartoginski](https://github.com/bartoginski) in
[#​1807](spectreconsole/spectre.console#1807)
* Add support for required options by
[@​patriksvensson](https://github.com/patriksvensson) in
[#​1825](spectreconsole/spectre.console#1825)
* Added documentation for align widget by
[@​Elementttto](https://github.com/Elementttto) in
[#​1746](spectreconsole/spectre.console#1746)
* Fixed link not displayed in markup in Style.cs and added unit test
cases by [@​Elementttto](https://github.com/Elementttto) in
[#​1750](spectreconsole/spectre.console#1750)
* Update System.Memory dependency by
[@​WeihanLi](https://github.com/WeihanLi) in
[#​1832](spectreconsole/spectre.console#1832)
* Reduce memory usage for rune width cache. by
[@​Pannoniae](https://github.com/Pannoniae) in
[#​1756](spectreconsole/spectre.console#1756)
* Fix resizing of Live views with reduced size. by
[@​belucha](https://github.com/belucha) in
[#​1840](spectreconsole/spectre.console#1840)
* Corrects comment for optional text prompt by
[@​aljanabim](https://github.com/aljanabim) in
[#​1857](spectreconsole/spectre.console#1857)
* Update spinners by [@​FroggieFrog](https://github.com/FroggieFrog) in
[#​1873](spectreconsole/spectre.console#1873)
* Support J and K for navigating list prompts by
[@​tobias-tengler](https://github.com/tobias-tengler) in
[#​1877](spectreconsole/spectre.console#1877)
* Fix space triggering selection when items in the selection list have a
space. by [@​mitchdenny](https://github.com/mitchdenny) in
[#​1881](spectreconsole/spectre.console#1881)
* Fix bug setting Header by
[@​mattfennerom](https://github.com/mattfennerom) in
[#​1890](spectreconsole/spectre.console#1890)

## New Contributors
* [@​magiino](https://github.com/magiino) made their first contribution
in [#​1803](spectreconsole/spectre.console#1803)
* [@​bartoginski](https://github.com/bartoginski) made their first
contribution in
[#​1807](spectreconsole/spectre.console#1807)
* [@​Elementttto](https://github.com/Elementttto) made their first
contribution in
[#​1746](spectreconsole/spectre.console#1746)
* [@​WeihanLi](https://github.com/WeihanLi) made their first
contribution in
[#​1832](spectreconsole/spectre.console#1832)
* [@​Pannoniae](https://github.com/Pannoniae) made their first
contribution in
[#​1756](spectreconsole/spectre.console#1756)
* [@​belucha](https://github.com/belucha) made their first contribution
in [#​1840](spectreconsole/spectre.console#1840)
* [@​aljanabim](https://github.com/aljanabim) made their first
contribution in
[#​1857](spectreconsole/spectre.console#1857)
* [@​FroggieFrog](https://github.com/FroggieFrog) made their first
contribution in
[#​1873](spectreconsole/spectre.console#1873)
* [@​tobias-tengler](https://github.com/tobias-tengler) made their first
contribution in
[#​1877](spectreconsole/spectre.console#1877)
* [@​mitchdenny](https://github.com/mitchdenny) made their first
contribution in
[#​1881](spectreconsole/spectre.console#1881)
* [@​mattfennerom](https://github.com/mattfennerom) made their first
contribution in
[#​1890](spectreconsole/spectre.console#1890)

**Full Changelog**:
spectreconsole/spectre.console@0.50.0...0.51.1

Commits viewable in [compare
view](spectreconsole/spectre.console@0.50.0...0.54.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Spectre.Console&package-manager=nuget&previous-version=0.50.0&new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⭐ top pull request Top pull request.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add missing Spinner dotsCircle

2 participants