in Source/RiderSourceCodeAccess/Private/RiderPathLocator/Linux/RiderPathLocatorLinux.cpp [76:112]
static TArray<FInstallInfo> GetManuallyInstalledRiders()
{
TArray<FInstallInfo> Result;
TArray<FString> RiderPaths;
const TArray RiderLookupPaths = {
GetHomePath(),
FString(TEXT("/opt")),
FPaths::Combine(TEXT("/usr"), TEXT("local"), TEXT("bin"))
};
for(const FString& RiderLookupPath: RiderLookupPaths)
{
FString RiderLookupPathMask = FPaths::Combine(RiderLookupPath,TEXT("*Rider*"));
IFileManager::Get().FindFiles(RiderPaths, *RiderLookupPathMask, false, true);
for(const FString& RiderPath: RiderPaths)
{
FString FullPath = FPaths::Combine(RiderLookupPath, RiderPath, TEXT("bin"), TEXT("rider.sh"));
TOptional<FInstallInfo> InstallInfo = FRiderPathLocator::GetInstallInfoFromRiderPath(FullPath, FInstallInfo::EInstallType::Installed);
if(InstallInfo.IsSet())
{
Result.Add(InstallInfo.GetValue());
}
}
RiderPaths.Empty();
}
FString FullPath = TEXT("/snap/rider/current/bin/rider.sh");
TOptional<FInstallInfo> InstallInfo = FRiderPathLocator::GetInstallInfoFromRiderPath(FullPath, FInstallInfo::EInstallType::Installed);
if(InstallInfo.IsSet())
{
Result.Add(InstallInfo.GetValue());
}
return Result;
}