internal static string GetOSName()

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();
    }