Public Access
29 lines
926 B
C#
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));
|
|
}
|
|
}
|