internal static string GetOSName()

in JetBrains.HabitatDetector/src/Impl/Unix/UnixHelper.cs [94:118]


    internal static string GetOSName(JetPlatform platform, string unameSysname, string unameRelease)
    {
      var properties = OsReleaseProperties.ReadFromDefaultLocations();
      var builder = new StringBuilder();

      {
        var prettyName = properties?.TryGetValue(OsReleaseProperties.PrettyNameKey);
        if (prettyName != null)
          builder.Append(prettyName);
        else
        {
          var name = properties?.TryGetValue(OsReleaseProperties.NameKey);
          builder.Append(name ?? unameSysname);

          var version = properties?.TryGetValue(OsReleaseProperties.VersionKey);
          if (version != null)
            builder.Append(' ').Append(version);
        }
      }

      if (platform == JetPlatform.Linux)
        builder.Append(' ').Append(unameRelease);

      return builder.ToString();
    }