mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 17:39:20 +02:00
IDE: FindSourceFile: search in virtual files
git-svn-id: trunk@58216 -
This commit is contained in:
parent
2abb3f84ba
commit
d684662c07
@ -3059,6 +3059,7 @@ var
|
|||||||
var
|
var
|
||||||
SearchPath: String;
|
SearchPath: String;
|
||||||
SearchFile: String;
|
SearchFile: String;
|
||||||
|
ProjFile: TLazProjectFile;
|
||||||
begin
|
begin
|
||||||
{$IFDEF VerboseFindSourceFile}
|
{$IFDEF VerboseFindSourceFile}
|
||||||
debugln(['TLazSourceFileManager.FindSourceFile Filename="',AFilename,'" BaseDirectory="',BaseDirectory,'"']);
|
debugln(['TLazSourceFileManager.FindSourceFile Filename="',AFilename,'" BaseDirectory="',BaseDirectory,'"']);
|
||||||
@ -3091,15 +3092,23 @@ begin
|
|||||||
BaseDir:=AppendPathDelim(TrimFilename(BaseDir));
|
BaseDir:=AppendPathDelim(TrimFilename(BaseDir));
|
||||||
|
|
||||||
// search file in base directory
|
// search file in base directory
|
||||||
Result:=TrimFilename(BaseDir+AFilename);
|
if FilenameIsAbsolute(BaseDir) then begin
|
||||||
{$IFDEF VerboseFindSourceFile}
|
Result:=TrimFilename(BaseDir+AFilename);
|
||||||
debugln(['TLazSourceFileManager.FindSourceFile trying Base "',Result,'"']);
|
{$IFDEF VerboseFindSourceFile}
|
||||||
{$ENDIF}
|
debugln(['TLazSourceFileManager.FindSourceFile trying Base "',Result,'"']);
|
||||||
if FileExistsCached(Result) then exit;
|
{$ENDIF}
|
||||||
MarkPathAsSearched(BaseDir);
|
if FileExistsCached(Result) then exit;
|
||||||
|
MarkPathAsSearched(BaseDir);
|
||||||
|
end else if Project1<>nil then begin
|
||||||
|
// search in virtual files
|
||||||
|
Result:=TrimFilename(BaseDir+AFilename);
|
||||||
|
ProjFile:=Project1.FindFile(Result,[pfsfOnlyVirtualFiles]);
|
||||||
|
if ProjFile<>nil then
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
// search file in debug path
|
// search file in debug path
|
||||||
if fsfUseDebugPath in Flags then begin
|
if (fsfUseDebugPath in Flags) and (Project1<>nil) then begin
|
||||||
SearchPath:=EnvironmentOptions.GetParsedDebuggerSearchPath;
|
SearchPath:=EnvironmentOptions.GetParsedDebuggerSearchPath;
|
||||||
SearchPath:=MergeSearchPaths(Project1.CompilerOptions.GetDebugPath(false),
|
SearchPath:=MergeSearchPaths(Project1.CompilerOptions.GetDebugPath(false),
|
||||||
SearchPath);
|
SearchPath);
|
||||||
|
Loading…
Reference in New Issue
Block a user