Fix uses unit completions for Intstalled version of PABC (#3390)
This commit is contained in:
parent
fab7af53f2
commit
d4e56ead6c
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue