in src/Microsoft.Atlas.CommandLine/Abstractions/FileSystem.cs [11:36]
public string PathCombine(params string[] paths)
{
var combined = paths.Aggregate(default(string), (acc, path) =>
{
if (acc == null)
{
return path;
}
var slashIndex = path.IndexOf('/');
var backslashIndex = path.IndexOf('\\');
if (slashIndex == 0 || backslashIndex == 0)
{
return path;
}
var schemeDelimiterIndex = path.IndexOf("://");
if (schemeDelimiterIndex > 0 && schemeDelimiterIndex < slashIndex)
{
return path;
}
return acc.TrimEnd('/', '\\') + '/' + path.TrimStart('/', '\\');
});
return combined;
}