Update spinners (#1873)

Update spinners from https://github.com/sindresorhus/cli-spinners
This commit is contained in:
FroggieFrog
2025-08-03 13:19:22 +02:00
committed by GitHub
parent f4782d9916
commit 0889c2f97c
3 changed files with 839 additions and 5 deletions

View File

@@ -19,4 +19,4 @@ if(!$?) {
Pop-Location
# Copy the files to the correct location
Copy-Item (Join-Path "$Output" "Spinner.Generated.cs") -Destination "$Source/Widgets/Progress/Spinner.Generated.cs"
Copy-Item (Join-Path "$Output" "Spinner.Generated.cs") -Destination "$Source/Live/Progress/Spinner.Generated.cs"

View File

@@ -286,6 +286,38 @@
"⠀⡀"
]
},
"dots13": {
"interval": 80,
"unicode": true,
"frames": [
"⣼",
"⣹",
"⢻",
"⠿",
"⡟",
"⣏",
"⣧",
"⣶"
]
},
"dots14": {
"interval": 80,
"unicode": true,
"frames": [
"⠉⠉",
"⠈⠙",
"⠀⠹",
"⠀⢸",
"⠀⣰",
"⢀⣠",
"⣀⣀",
"⣄⡀",
"⣆⠀",
"⡇⠀",
"⠏⠀",
"⠋⠁"
]
},
"dots8Bit": {
"interval": 80,
"unicode": true,
@@ -548,6 +580,61 @@
"⣿"
]
},
"dotsCircle": {
"interval": 80,
"unicode": true,
"frames": [
"⢎ ",
"⠎⠁",
"⠊⠑",
"⠈⠱",
" ⡱",
"⢀⡰",
"⢄⡠",
"⢆⡀"
]
},
"sand": {
"interval": 80,
"unicode": true,
"frames": [
"⠁",
"⠂",
"⠄",
"⡀",
"⡈",
"⡐",
"⡠",
"⣀",
"⣁",
"⣂",
"⣄",
"⣌",
"⣔",
"⣤",
"⣥",
"⣦",
"⣮",
"⣶",
"⣷",
"⣿",
"⡿",
"⠿",
"⢟",
"⠟",
"⡛",
"⠛",
"⠫",
"⢋",
"⠋",
"⠍",
"⡉",
"⠉",
"⠑",
"⠡",
"⢁"
]
},
"line": {
"interval": 130,
"unicode": false,
@@ -763,6 +850,22 @@
"◥"
]
},
"binary": {
"interval": 80,
"unicode": false,
"frames": [
"010010",
"001100",
"100101",
"111010",
"111101",
"010111",
"101011",
"111000",
"110011",
"110101"
]
},
"arc": {
"interval": 100,
"unicode": true,
@@ -978,6 +1081,7 @@
"[= ]",
"[== ]",
"[=== ]",
"[====]",
"[ ===]",
"[ ==]",
"[ =]",
@@ -1351,6 +1455,135 @@
"ββββββρ"
]
},
"fingerDance": {
"interval": 160,
"unicode": true,
"frames": [
"🤘 ",
"🤟 ",
"🖖 ",
"✋ ",
"🤚 ",
"👆 "
]
},
"fistBump": {
"interval": 80,
"unicode": true,
"frames": [
"🤜\u3000\u3000\u3000\u3000🤛 ",
"🤜\u3000\u3000\u3000\u3000🤛 ",
"🤜\u3000\u3000\u3000\u3000🤛 ",
"\u3000🤜\u3000\u3000🤛\u3000 ",
"\u3000\u3000🤜🤛\u3000\u3000 ",
"\u3000🤜✨🤛\u3000\u3000 ",
"🤜\u3000✨\u3000🤛\u3000 "
]
},
"soccerHeader": {
"interval": 80,
"unicode": true,
"frames": [
" 🧑⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 "
]
},
"mindblown": {
"interval": 160,
"unicode": true,
"frames": [
"😐 ",
"😐 ",
"😮 ",
"😮 ",
"😦 ",
"😦 ",
"😧 ",
"😧 ",
"🤯 ",
"💥 ",
"✨ ",
"\u3000 ",
"\u3000 ",
"\u3000 "
]
},
"speaker": {
"interval": 160,
"unicode": true,
"frames": [
"🔈 ",
"🔉 ",
"🔊 ",
"🔉 "
]
},
"orangePulse": {
"interval": 100,
"unicode": true,
"frames": [
"🔸 ",
"🔶 ",
"🟠 ",
"🟠 ",
"🔶 "
]
},
"bluePulse": {
"interval": 100,
"unicode": true,
"frames": [
"🔹 ",
"🔷 ",
"🔵 ",
"🔵 ",
"🔷 "
]
},
"orangeBluePulse": {
"interval": 100,
"unicode": true,
"frames": [
"🔸 ",
"🔶 ",
"🟠 ",
"🟠 ",
"🔶 ",
"🔹 ",
"🔷 ",
"🔵 ",
"🔵 ",
"🔷 "
]
},
"timeTravel": {
"interval": 100,
"unicode": true,
"frames": [
"🕛 ",
"🕚 ",
"🕙 ",
"🕘 ",
"🕗 ",
"🕖 ",
"🕕 ",
"🕔 ",
"🕓 ",
"🕒 ",
"🕑 ",
"🕐 "
]
},
"aesthetic": {
"interval": 80,
"unicode": true,
@@ -1364,5 +1597,144 @@
"▰▰▰▰▰▰▰",
"▰▱▱▱▱▱▱"
]
},
"dwarfFortress": {
"interval": 80,
"unicode": true,
"frames": [
" ██████£££ ",
"☺██████£££ ",
"☺██████£££ ",
"☺▓█████£££ ",
"☺▓█████£££ ",
"☺▒█████£££ ",
"☺▒█████£££ ",
"☺░█████£££ ",
"☺░█████£££ ",
"☺ █████£££ ",
" ☺█████£££ ",
" ☺█████£££ ",
" ☺▓████£££ ",
" ☺▓████£££ ",
" ☺▒████£££ ",
" ☺▒████£££ ",
" ☺░████£££ ",
" ☺░████£££ ",
" ☺ ████£££ ",
" ☺████£££ ",
" ☺████£££ ",
" ☺▓███£££ ",
" ☺▓███£££ ",
" ☺▒███£££ ",
" ☺▒███£££ ",
" ☺░███£££ ",
" ☺░███£££ ",
" ☺ ███£££ ",
" ☺███£££ ",
" ☺███£££ ",
" ☺▓██£££ ",
" ☺▓██£££ ",
" ☺▒██£££ ",
" ☺▒██£££ ",
" ☺░██£££ ",
" ☺░██£££ ",
" ☺ ██£££ ",
" ☺██£££ ",
" ☺██£££ ",
" ☺▓█£££ ",
" ☺▓█£££ ",
" ☺▒█£££ ",
" ☺▒█£££ ",
" ☺░█£££ ",
" ☺░█£££ ",
" ☺ █£££ ",
" ☺█£££ ",
" ☺█£££ ",
" ☺▓£££ ",
" ☺▓£££ ",
" ☺▒£££ ",
" ☺▒£££ ",
" ☺░£££ ",
" ☺░£££ ",
" ☺ £££ ",
" ☺£££ ",
" ☺£££ ",
" ☺▓££ ",
" ☺▓££ ",
" ☺▒££ ",
" ☺▒££ ",
" ☺░££ ",
" ☺░££ ",
" ☺ ££ ",
" ☺££ ",
" ☺££ ",
" ☺▓£ ",
" ☺▓£ ",
" ☺▒£ ",
" ☺▒£ ",
" ☺░£ ",
" ☺░£ ",
" ☺ £ ",
" ☺£ ",
" ☺£ ",
" ☺▓ ",
" ☺▓ ",
" ☺▒ ",
" ☺▒ ",
" ☺░ ",
" ☺░ ",
" ☺ ",
" ☺ &",
" ☺ ☼&",
" ☺ ☼ &",
" ☺☼ &",
" ☺☼ & ",
" ‼ & ",
" ☺ & ",
" ‼ & ",
" ☺ & ",
" ‼ & ",
" ☺ & ",
"‼ & ",
" & ",
" & ",
" & ░ ",
" & ▒ ",
" & ▓ ",
" & £ ",
" & ░£ ",
" & ▒£ ",
" & ▓£ ",
" & ££ ",
" & ░££ ",
" & ▒££ ",
"& ▓££ ",
"& £££ ",
" ░£££ ",
" ▒£££ ",
" ▓£££ ",
" █£££ ",
" ░█£££ ",
" ▒█£££ ",
" ▓█£££ ",
" ██£££ ",
" ░██£££ ",
" ▒██£££ ",
" ▓██£££ ",
" ███£££ ",
" ░███£££ ",
" ▒███£££ ",
" ▓███£££ ",
" ████£££ ",
" ░████£££ ",
" ▒████£££ ",
" ▓████£££ ",
" █████£££ ",
" ░█████£££ ",
" ▒█████£££ ",
" ▓█████£££ ",
" ██████£££ ",
" ██████£££ "
]
}
}

View File

@@ -360,6 +360,42 @@ namespace Spectre.Console
"⠀⡀",
};
}
private sealed class Dots13Spinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"⣼",
"⣹",
"⢻",
"⠿",
"⡟",
"⣏",
"⣧",
"⣶",
};
}
private sealed class Dots14Spinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"⠉⠉",
"⠈⠙",
"⠀⠹",
"⠀⢸",
"⠀⣰",
"⢀⣠",
"⣀⣀",
"⣄⡀",
"⣆⠀",
"⡇⠀",
"⠏⠀",
"⠋⠁",
};
}
private sealed class Dots8BitSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
@@ -624,6 +660,65 @@ namespace Spectre.Console
"⣿",
};
}
private sealed class DotsCircleSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"⢎ ",
"⠎⠁",
"⠊⠑",
"⠈⠱",
" ⡱",
"⢀⡰",
"⢄⡠",
"⢆⡀",
};
}
private sealed class SandSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"⠁",
"⠂",
"⠄",
"⡀",
"⡈",
"⡐",
"⡠",
"⣀",
"⣁",
"⣂",
"⣄",
"⣌",
"⣔",
"⣤",
"⣥",
"⣦",
"⣮",
"⣶",
"⣷",
"⣿",
"⡿",
"⠿",
"⢟",
"⠟",
"⡛",
"⠛",
"⠫",
"⢋",
"⠋",
"⠍",
"⡉",
"⠉",
"⠑",
"⠡",
"⢁",
};
}
private sealed class LineSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(130);
@@ -875,6 +970,24 @@ namespace Spectre.Console
"◥",
};
}
private sealed class BinarySpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => false;
public override IReadOnlyList<string> Frames => new List<string>
{
"010010",
"001100",
"100101",
"111010",
"111101",
"010111",
"101011",
"111000",
"110011",
"110101",
};
}
private sealed class ArcSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
@@ -1136,6 +1249,7 @@ namespace Spectre.Console
"[= ]",
"[== ]",
"[=== ]",
"[====]",
"[ ===]",
"[ ==]",
"[ =]",
@@ -1545,6 +1659,153 @@ namespace Spectre.Console
"ββββββρ",
};
}
private sealed class FingerDanceSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(160);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🤘 ",
"🤟 ",
"🖖 ",
"✋ ",
"🤚 ",
"👆 ",
};
}
private sealed class FistBumpSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🤜    🤛 ",
"🤜    🤛 ",
"🤜    🤛 ",
" 🤜  🤛  ",
"  🤜🤛   ",
" 🤜✨🤛   ",
"🤜 ✨ 🤛  ",
};
}
private sealed class SoccerHeaderSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
" 🧑⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
"🧑 ⚽️ 🧑 ",
};
}
private sealed class MindblownSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(160);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"😐 ",
"😐 ",
"😮 ",
"😮 ",
"😦 ",
"😦 ",
"😧 ",
"😧 ",
"🤯 ",
"💥 ",
"✨ ",
"  ",
"  ",
"  ",
};
}
private sealed class SpeakerSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(160);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🔈 ",
"🔉 ",
"🔊 ",
"🔉 ",
};
}
private sealed class OrangePulseSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🔸 ",
"🔶 ",
"🟠 ",
"🟠 ",
"🔶 ",
};
}
private sealed class BluePulseSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🔹 ",
"🔷 ",
"🔵 ",
"🔵 ",
"🔷 ",
};
}
private sealed class OrangeBluePulseSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🔸 ",
"🔶 ",
"🟠 ",
"🟠 ",
"🔶 ",
"🔹 ",
"🔷 ",
"🔵 ",
"🔵 ",
"🔷 ",
};
}
private sealed class TimeTravelSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(100);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
"🕛 ",
"🕚 ",
"🕙 ",
"🕘 ",
"🕗 ",
"🕖 ",
"🕕 ",
"🕔 ",
"🕓 ",
"🕒 ",
"🕑 ",
"🕐 ",
};
}
private sealed class AestheticSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
@@ -1561,6 +1822,147 @@ namespace Spectre.Console
"▰▱▱▱▱▱▱",
};
}
private sealed class DwarfFortressSpinner : Spinner
{
public override TimeSpan Interval => TimeSpan.FromMilliseconds(80);
public override bool IsUnicode => true;
public override IReadOnlyList<string> Frames => new List<string>
{
" ██████£££ ",
"☺██████£££ ",
"☺██████£££ ",
"☺▓█████£££ ",
"☺▓█████£££ ",
"☺▒█████£££ ",
"☺▒█████£££ ",
"☺░█████£££ ",
"☺░█████£££ ",
"☺ █████£££ ",
" ☺█████£££ ",
" ☺█████£££ ",
" ☺▓████£££ ",
" ☺▓████£££ ",
" ☺▒████£££ ",
" ☺▒████£££ ",
" ☺░████£££ ",
" ☺░████£££ ",
" ☺ ████£££ ",
" ☺████£££ ",
" ☺████£££ ",
" ☺▓███£££ ",
" ☺▓███£££ ",
" ☺▒███£££ ",
" ☺▒███£££ ",
" ☺░███£££ ",
" ☺░███£££ ",
" ☺ ███£££ ",
" ☺███£££ ",
" ☺███£££ ",
" ☺▓██£££ ",
" ☺▓██£££ ",
" ☺▒██£££ ",
" ☺▒██£££ ",
" ☺░██£££ ",
" ☺░██£££ ",
" ☺ ██£££ ",
" ☺██£££ ",
" ☺██£££ ",
" ☺▓█£££ ",
" ☺▓█£££ ",
" ☺▒█£££ ",
" ☺▒█£££ ",
" ☺░█£££ ",
" ☺░█£££ ",
" ☺ █£££ ",
" ☺█£££ ",
" ☺█£££ ",
" ☺▓£££ ",
" ☺▓£££ ",
" ☺▒£££ ",
" ☺▒£££ ",
" ☺░£££ ",
" ☺░£££ ",
" ☺ £££ ",
" ☺£££ ",
" ☺£££ ",
" ☺▓££ ",
" ☺▓££ ",
" ☺▒££ ",
" ☺▒££ ",
" ☺░££ ",
" ☺░££ ",
" ☺ ££ ",
" ☺££ ",
" ☺££ ",
" ☺▓£ ",
" ☺▓£ ",
" ☺▒£ ",
" ☺▒£ ",
" ☺░£ ",
" ☺░£ ",
" ☺ £ ",
" ☺£ ",
" ☺£ ",
" ☺▓ ",
" ☺▓ ",
" ☺▒ ",
" ☺▒ ",
" ☺░ ",
" ☺░ ",
" ☺ ",
" ☺ &",
" ☺ ☼&",
" ☺ ☼ &",
" ☺☼ &",
" ☺☼ & ",
" ‼ & ",
" ☺ & ",
" ‼ & ",
" ☺ & ",
" ‼ & ",
" ☺ & ",
"‼ & ",
" & ",
" & ",
" & ░ ",
" & ▒ ",
" & ▓ ",
" & £ ",
" & ░£ ",
" & ▒£ ",
" & ▓£ ",
" & ££ ",
" & ░££ ",
" & ▒££ ",
"& ▓££ ",
"& £££ ",
" ░£££ ",
" ▒£££ ",
" ▓£££ ",
" █£££ ",
" ░█£££ ",
" ▒█£££ ",
" ▓█£££ ",
" ██£££ ",
" ░██£££ ",
" ▒██£££ ",
" ▓██£££ ",
" ███£££ ",
" ░███£££ ",
" ▒███£££ ",
" ▓███£££ ",
" ████£££ ",
" ░████£££ ",
" ▒████£££ ",
" ▓████£££ ",
" █████£££ ",
" ░█████£££ ",
" ▒█████£££ ",
" ▓█████£££ ",
" ██████£££ ",
" ██████£££ ",
};
}
/// <summary>
/// Contains all predefined spinners.
@@ -1624,10 +2026,26 @@ namespace Spectre.Console
/// </summary>
public static Spinner Dots12 { get; } = new Dots12Spinner();
/// <summary>
/// Gets the "dots13" spinner.
/// </summary>
public static Spinner Dots13 { get; } = new Dots13Spinner();
/// <summary>
/// Gets the "dots14" spinner.
/// </summary>
public static Spinner Dots14 { get; } = new Dots14Spinner();
/// <summary>
/// Gets the "dots8Bit" spinner.
/// </summary>
public static Spinner Dots8Bit { get; } = new Dots8BitSpinner();
/// <summary>
/// Gets the "dotsCircle" spinner.
/// </summary>
public static Spinner DotsCircle { get; } = new DotsCircleSpinner();
/// <summary>
/// Gets the "sand" spinner.
/// </summary>
public static Spinner Sand { get; } = new SandSpinner();
/// <summary>
/// Gets the "line" spinner.
/// </summary>
public static Spinner Line { get; } = new LineSpinner();
@@ -1700,6 +2118,10 @@ namespace Spectre.Console
/// </summary>
public static Spinner Triangle { get; } = new TriangleSpinner();
/// <summary>
/// Gets the "binary" spinner.
/// </summary>
public static Spinner Binary { get; } = new BinarySpinner();
/// <summary>
/// Gets the "arc" spinner.
/// </summary>
public static Spinner Arc { get; } = new ArcSpinner();
@@ -1864,9 +2286,49 @@ namespace Spectre.Console
/// </summary>
public static Spinner BetaWave { get; } = new BetaWaveSpinner();
/// <summary>
/// Gets the "fingerDance" spinner.
/// </summary>
public static Spinner FingerDance { get; } = new FingerDanceSpinner();
/// <summary>
/// Gets the "fistBump" spinner.
/// </summary>
public static Spinner FistBump { get; } = new FistBumpSpinner();
/// <summary>
/// Gets the "soccerHeader" spinner.
/// </summary>
public static Spinner SoccerHeader { get; } = new SoccerHeaderSpinner();
/// <summary>
/// Gets the "mindblown" spinner.
/// </summary>
public static Spinner Mindblown { get; } = new MindblownSpinner();
/// <summary>
/// Gets the "speaker" spinner.
/// </summary>
public static Spinner Speaker { get; } = new SpeakerSpinner();
/// <summary>
/// Gets the "orangePulse" spinner.
/// </summary>
public static Spinner OrangePulse { get; } = new OrangePulseSpinner();
/// <summary>
/// Gets the "bluePulse" spinner.
/// </summary>
public static Spinner BluePulse { get; } = new BluePulseSpinner();
/// <summary>
/// Gets the "orangeBluePulse" spinner.
/// </summary>
public static Spinner OrangeBluePulse { get; } = new OrangeBluePulseSpinner();
/// <summary>
/// Gets the "timeTravel" spinner.
/// </summary>
public static Spinner TimeTravel { get; } = new TimeTravelSpinner();
/// <summary>
/// Gets the "aesthetic" spinner.
/// </summary>
public static Spinner Aesthetic { get; } = new AestheticSpinner();
/// <summary>
/// Gets the "dwarfFortress" spinner.
/// </summary>
public static Spinner DwarfFortress { get; } = new DwarfFortressSpinner();
}
}
}