Skip to content
This repository was archived by the owner on Jun 28, 2026. It is now read-only.

Commit 70fe75e

Browse files
fix: use native EnumerateFiles and GetDirectories methods in FilePairFileSystem.EnumerateFiles
1 parent e960888 commit 70fe75e

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

‎src/Arius.Core/Shared/FileSystem/FilePairFileSystem.cs‎

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,25 +109,31 @@ private IEnumerable<FileEntry> EnumerateFiles(DirectoryEntry directory, SearchOp
109109
yield break;
110110
}
111111

112-
foreach (var fe in directory.EnumerateFiles())
112+
var directoryInfo = new DirectoryInfo(directory.FileSystem.ConvertPathToInternal(directory.Path));
113+
114+
foreach (var fileInfo in directoryInfo.EnumerateFiles())
113115
{
114-
if (ShouldSkipFile(fe))
116+
var fileEntry = new FileEntry(directory.FileSystem, directory.FileSystem.ConvertPathFromInternal(fileInfo.FullName));
117+
118+
if (ShouldSkipFile(fileEntry))
115119
{
116-
logger.LogWarning("Skipping file {file} as it is hidden, system, or excluded", fe.FullName);
120+
logger.LogWarning("Skipping file {file} as it is hidden, system, or excluded", fileEntry.FullName);
117121
continue;
118122
}
119123

120-
yield return fe;
124+
yield return fileEntry;
121125
}
122126

123127
// Only recurse into subdirectories if AllDirectories is specified
124128
if (searchOption == SearchOption.AllDirectories)
125129
{
126-
foreach (var subDir in directory.EnumerateDirectories())
130+
foreach (var subDirectoryInfo in directoryInfo.GetDirectories())
127131
{
128-
foreach (var file in EnumerateFiles(subDir, searchOption))
132+
var subDirectoryEntry = directory.FileSystem.GetDirectoryEntry(directory.FileSystem.ConvertPathFromInternal(subDirectoryInfo.FullName));
133+
134+
foreach (var fileEntry in EnumerateFiles(subDirectoryEntry, searchOption))
129135
{
130-
yield return file;
136+
yield return fileEntry;
131137
}
132138
}
133139
}

0 commit comments

Comments
 (0)