diff --git a/CodeCompletion/CodeCompletion.cs b/CodeCompletion/CodeCompletion.cs index a9003ff8b..010baecaf 100644 --- a/CodeCompletion/CodeCompletion.cs +++ b/CodeCompletion/CodeCompletion.cs @@ -296,11 +296,17 @@ namespace CodeCompletion if (CodeCompletionController.comp != null) Dirs.AddRange(CodeCompletionController.comp.GetCurrentSearchDirectories(currentUnitLanguage)); // Надо как-то проверять, что мы не в инсталированной версии EVA - if (CodeCompletionController.StandartDirectories.ContainsKey(LibSourceDirectoryIdent) && Directory.Exists(CodeCompletionController.StandartDirectories[LibSourceDirectoryIdent])) + if (MainLibSourceDirectoryExists()) Dirs.AddRange(GetLibSourceDirectories(currentUnitLanguage)); return CodeCompletionController.comp.FindSourceFileNameInDirs(unit_name, out found_dir_ind, currentUnitLanguage, Dirs.ToArray()); } + public static bool MainLibSourceDirectoryExists() + { + return CodeCompletionController.StandartDirectories.ContainsKey(LibSourceDirectoryIdent) + && Directory.Exists(CodeCompletionController.StandartDirectories[LibSourceDirectoryIdent]); + } + private static string[] GetLibSourceDirectories(ILanguage currentUnitLanguage) { return LanguageProvider.Instance.Languages diff --git a/CodeCompletion/DomConverter.cs b/CodeCompletion/DomConverter.cs index 905e36d8c..c9fbfcc2a 100644 --- a/CodeCompletion/DomConverter.cs +++ b/CodeCompletion/DomConverter.cs @@ -51,7 +51,13 @@ namespace CodeCompletion { if (CodeCompletionController.comp == null) return; - string[] files = Directory.GetFiles(Path.Combine(CodeCompletionController.comp.CompilerOptions.SystemDirectory, "Lib"), "*.pas"); + + var dirName = "Lib"; + + if (CodeCompletionNameHelper.MainLibSourceDirectoryExists()) + dirName = "LibSource"; + + string[] files = Directory.GetFiles(Path.Combine(CodeCompletionController.comp.CompilerOptions.SystemDirectory, dirName), $"*{StringConstants.pascalSourceFileExtension}"); standard_units = new SymInfo[files.Length]; int i = 0; foreach (string s in files)