From 390735032ef31f38174eda9e40aff3d72ca757d0 Mon Sep 17 00:00:00 2001 From: Tyrrrz Date: Wed, 24 Mar 2021 02:51:11 +0200 Subject: [PATCH] [CLI] Hack Spectre.Console so that it properly supports CliFx encoding --- .../Utils/Extensions/ConsoleExtensions.cs | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs b/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs index b4b95164..fb2adb83 100644 --- a/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs +++ b/DiscordChatExporter.Cli/Utils/Extensions/ConsoleExtensions.cs @@ -5,14 +5,22 @@ namespace DiscordChatExporter.Cli.Utils.Extensions { internal static class ConsoleExtensions { - public static IAnsiConsole CreateAnsiConsole(this IConsole console) => AnsiConsole.Create( - new AnsiConsoleSettings - { - Ansi = AnsiSupport.Detect, - ColorSystem = ColorSystemSupport.Detect, - Out = console.Output - } - ); + public static IAnsiConsole CreateAnsiConsole(this IConsole console) + { + var ansiConsole = AnsiConsole.Create( + new AnsiConsoleSettings + { + 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 .CreateAnsiConsole()