Add Git overlay, operation tools, and virtualized preview so large folders stay responsive.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-24 15:04:04 +02:00
parent 9bf451932f
commit a3c54bbb03
127 changed files with 14748 additions and 633 deletions

View File

@@ -30,6 +30,18 @@ public interface IFileSystemEnumerator
IEnumerable<FileSystemItem> EnumerateChildren(string directoryPath);
FileSystemItem? GetItem(string path);
IReadOnlyList<FileSystemItem> EnumerateChildrenSafe(string directoryPath, out string? error);
IEnumerable<FileSystemItem> EnumerateChildrenStreaming(
string directoryPath,
FileEnumerationSink sink,
CancellationToken cancellationToken)
{
ArgumentNullException.ThrowIfNull(sink);
cancellationToken.ThrowIfCancellationRequested();
var items = EnumerateChildrenSafe(directoryPath, out var error);
sink.Error = error;
return items;
}
}
public interface IUsnJournal
@@ -90,6 +102,7 @@ public interface IShellFileOperations
bool CreateShortcut(string targetPath, string shortcutPath, out string? error);
bool CopyFileWithProgress(string source, string destination, bool overwrite, IProgress<long>? progress, CancellationToken cancellationToken, out string? error, Func<bool>? pauseRequested = null);
bool MoveFileWithProgress(string source, string destination, bool overwrite, IProgress<long>? progress, CancellationToken cancellationToken, out string? error, Func<bool>? pauseRequested = null);
bool EmptyRecycleBin(out string? error);
}
public interface IIconService