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)
|
if (CodeCompletionController.comp != null)
|
||||||
Dirs.AddRange(CodeCompletionController.comp.GetCurrentSearchDirectories(currentUnitLanguage));
|
Dirs.AddRange(CodeCompletionController.comp.GetCurrentSearchDirectories(currentUnitLanguage));
|
||||||
// Надо как-то проверять, что мы не в инсталированной версии EVA
|
// Надо как-то проверять, что мы не в инсталированной версии EVA
|
||||||
if (CodeCompletionController.StandartDirectories.ContainsKey(LibSourceDirectoryIdent) && Directory.Exists(CodeCompletionController.StandartDirectories[LibSourceDirectoryIdent]))
|
if (MainLibSourceDirectoryExists())
|
||||||
Dirs.AddRange(GetLibSourceDirectories(currentUnitLanguage));
|
Dirs.AddRange(GetLibSourceDirectories(currentUnitLanguage));
|
||||||
return CodeCompletionController.comp.FindSourceFileNameInDirs(unit_name, out found_dir_ind, currentUnitLanguage, Dirs.ToArray());
|
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)
|
private static string[] GetLibSourceDirectories(ILanguage currentUnitLanguage)
|
||||||
{
|
{
|
||||||
return LanguageProvider.Instance.Languages
|
return LanguageProvider.Instance.Languages
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,13 @@ namespace CodeCompletion
|
||||||
{
|
{
|
||||||
if (CodeCompletionController.comp == null)
|
if (CodeCompletionController.comp == null)
|
||||||
return;
|
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];
|
standard_units = new SymInfo[files.Length];
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (string s in files)
|
foreach (string s in files)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue