in JetBrains.HabitatDetector/src/Impl/MacOsX/MacOsHelper.cs [88:131]
internal static string GetOSName(Version version)
{
var build = GetSysctlKernOsVersion();
var builder = new StringBuilder(version.Major switch
{
26 => "macOS Tahoe",
16 or 17 or 18 or 19 or 20 or 21 or 22 or 23 or 24 or 25 => throw new InvalidOperationException($"Invalid macOS major version: {version.Major}"),
15 => "macOS Sequoia",
14 => "macOS Sonoma",
13 => "macOS Ventura",
12 => "macOS Monterey",
11 => "macOS Big Sur",
10 => version.Minor switch
{
15 => "macOS Catalina",
14 => "macOS Mojave",
13 => "macOS High Sierra",
12 => "macOS Sierra",
11 => "OS X El Capitan",
10 => "OS X Yosemite",
9 => "OS X Mavericks",
8 => "OS X Mountain Lion",
7 => "Mac OS X Lion",
6 => "Mac OS X Snow Leopard",
5 => "Mac OS X Leopard",
4 => "Mac OS X Tiger",
3 => "Mac OS X Panther",
2 => "Mac OS X Jaguar",
1 => "Mac OS X Puma",
0 => "Mac OS X Cheetah",
_ => throw new InvalidOperationException("Invalid macOS 10 minor version")
},
0 or 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 or 9 => throw new InvalidOperationException($"Invalid macOS major version: {version.Major}"),
_ => "macOS" // Note(ww898): The fallback for an unknown macOS name!!!
});
builder.Append(' ').Append(version.Major).Append('.').Append(version.Minor);
if (version.Build > 0)
builder.Append('.').Append(version.Build);
if (build != null)
builder.Append(' ').Append(build);
return builder.ToString();
}