Add check for LanguageKits directory existence (#3052)

* Add check for LanguageKits directory existence

* Fix the check
This commit is contained in:
AlexanderZemlyak 2024-03-22 23:25:02 +03:00 committed by GitHub
parent 124ae0d87a
commit edecab7416
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,14 +17,17 @@ namespace LanguageIntegration
private const string languageKitsDirectoryName = "LanguageKits";
/// <summary>
/// Возвращает директорию, содержащую комплекты языков
/// Возвращает директорию, содержащую комплекты языков (если ее нет, то вернется null)
/// </summary>
private static DirectoryInfo GetLanguageKitsDirectory()
{
string binDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string languageKitsDirectoryPath = Path.Combine(binDirectoryPath, languageKitsDirectoryName);
return new DirectoryInfo(languageKitsDirectoryPath);
if (Directory.Exists(languageKitsDirectoryPath))
return new DirectoryInfo(languageKitsDirectoryPath);
return null;
}
/// <summary>
@ -34,6 +37,9 @@ namespace LanguageIntegration
{
DirectoryInfo languageKitsDirectory = GetLanguageKitsDirectory();
if (languageKitsDirectory == null)
return;
foreach (var languageKit in languageKitsDirectory.GetDirectories())
{
FileInfo[] dllFiles = languageKit.GetFiles();
@ -75,6 +81,9 @@ namespace LanguageIntegration
{
DirectoryInfo languageKitsDirectory = GetLanguageKitsDirectory();
if (languageKitsDirectory == null)
return;
foreach (var parserDll in languageKitsDirectory.GetDirectories()
.SelectMany(directory => directory.GetFiles("*Parser.dll")))
{