Using URI file schema for Live Logger hyperlinks (#8702)

Some terminal emulators handle `file://` links but not bare paths.
This commit is contained in:
Roman Konecny 2023-04-25 20:03:47 +02:00 коммит произвёл GitHub
Родитель 5738af0774
Коммит 662a36f1f2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -377,8 +377,15 @@ internal sealed class LiveLogger : INodeLogger
// Ignore any GetDirectoryName exceptions.
}
// Generates file:// schema url string which is better handled by various Terminal clients than raw folder name.
string urlString = url.ToString();
if (Uri.TryCreate(urlString, UriKind.Absolute, out Uri? uri))
{
urlString = uri.AbsoluteUri;
}
Terminal.WriteLine(ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword("ProjectFinished_OutputPath",
$"{AnsiCodes.LinkPrefix}{url.ToString()}{AnsiCodes.LinkInfix}{outputPath}{AnsiCodes.LinkSuffix}"));
$"{AnsiCodes.LinkPrefix}{urlString}{AnsiCodes.LinkInfix}{outputPath}{AnsiCodes.LinkSuffix}"));
}
else
{