[CLI] Hack Spectre.Console so that it properly supports CliFx encoding

This commit is contained in:
Tyrrrz 2021-03-24 02:51:11 +02:00
parent 461d474498
commit 390735032e

View file

@ -5,14 +5,22 @@ namespace DiscordChatExporter.Cli.Utils.Extensions
{ {
internal static class ConsoleExtensions internal static class ConsoleExtensions
{ {
public static IAnsiConsole CreateAnsiConsole(this IConsole console) => AnsiConsole.Create( public static IAnsiConsole CreateAnsiConsole(this IConsole console)
new AnsiConsoleSettings {
{ var ansiConsole = AnsiConsole.Create(
Ansi = AnsiSupport.Detect, new AnsiConsoleSettings
ColorSystem = ColorSystemSupport.Detect, {
Out = console.Output Ansi = AnsiSupport.Detect,
} ColorSystem = ColorSystemSupport.Detect,
); Out = console.Output
}
);
// HACK: https://github.com/spectresystems/spectre.console/pull/318
ansiConsole.Profile.Encoding = console.Output.Encoding;
return ansiConsole;
}
public static Progress CreateProgressTicker(this IConsole console) => console public static Progress CreateProgressTicker(this IConsole console) => console
.CreateAnsiConsole() .CreateAnsiConsole()