26 lines
802 B
C#
26 lines
802 B
C#
using System.IO;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
[assembly: InternalsVisibleTo("Unity.VSCode.EditorTests")]
|
|
|
|
namespace VSCodeEditor
|
|
{
|
|
internal static class StringUtils
|
|
{
|
|
private const char WinSeparator = '\\';
|
|
private const char UnixSeparator = '/';
|
|
|
|
public static string NormalizePath(this string path)
|
|
{
|
|
if (string.IsNullOrEmpty(path))
|
|
return path;
|
|
|
|
if (Path.DirectorySeparatorChar == WinSeparator)
|
|
path = path.Replace(UnixSeparator, WinSeparator);
|
|
if (Path.DirectorySeparatorChar == UnixSeparator)
|
|
path = path.Replace(WinSeparator, UnixSeparator);
|
|
|
|
return path.Replace(string.Concat(WinSeparator, WinSeparator), WinSeparator.ToString());
|
|
}
|
|
}
|
|
} |