Files
meeting-assistant/MeetingAssistant/VaultPath.cs
T

29 lines
926 B
C#

namespace MeetingAssistant;
public static class VaultPath
{
public static string Resolve(string path)
{
var expanded = Environment.ExpandEnvironmentVariables(path);
if (expanded.StartsWith("~", StringComparison.Ordinal))
{
expanded = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
expanded[1..].TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar));
}
return Path.GetFullPath(expanded);
}
public static string Resolve(VaultOptions vault, string path)
{
var expanded = Environment.ExpandEnvironmentVariables(path);
if (Path.IsPathRooted(expanded) || expanded.StartsWith("~", StringComparison.Ordinal))
{
return Resolve(expanded);
}
return Path.GetFullPath(Path.Combine(Resolve(vault.BaseFolder), expanded));
}
}