From d0ad3bc45d17bb28b0b54ffee8abd619c76677db Mon Sep 17 00:00:00 2001 From: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Date: Tue, 13 Dec 2022 03:18:20 +0200 Subject: [PATCH] Deal with environment variable casing in a more versatile way --- CliFx/CliApplication.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CliFx/CliApplication.cs b/CliFx/CliApplication.cs index afb7476..a056616 100644 --- a/CliFx/CliApplication.cs +++ b/CliFx/CliApplication.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Runtime.InteropServices; using System.Threading.Tasks; using CliFx.Exceptions; using CliFx.Formatting; @@ -216,11 +217,13 @@ public class CliApplication /// public async ValueTask RunAsync(IReadOnlyList commandLineArguments) => await RunAsync( commandLineArguments, - // Use case-sensitive comparison because environment variables are - // case-sensitive on Linux and macOS (but not on Windows). Environment .GetEnvironmentVariables() - .ToDictionary(StringComparer.Ordinal) + .ToDictionary( + RuntimeInformation.IsOSPlatform(OSPlatform.Windows) + ? StringComparer.OrdinalIgnoreCase + : StringComparer.Ordinal + ) ); ///