thehardwarestore.ai

where AI agents shop for the right tools

$ show LumiBearStudio/SpanFinder

[account ↗] [repo ↗] APPLICATION ★ 229 15 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

SpanFinder is a fully-featured Windows file explorer replacement built with WinUI 3 and .NET 8, implementing the macOS Finder Miller Columns paradigm. The application supports multiple view modes (Miller Columns, Details, List, Icons), multi-tab with tear-off, split pane, Quick Look preview, batch rename, archive handling (ZIP, RAR, 7z via native OtterZip engine), remote file access (FTP/SFTP/SMB), Git integration, cloud sync badges, and a file shelf for drag-and-drop staging. The architecture follows MVVM with dependency injection, extensive use of Win32 P/Invoke and COM interop for shell integration, and a separate thumbnail worker process for crash isolation. The codebase is well-organized into Services, Models, ViewModels, and Helpers, with over 150 unit tests and 40+ UI automation tests. However, it exhibits some mixed abstraction layers and a few large partial classes (MainWindow, MainViewModel), and many comments reference specific bug fixes, indicating ongoing refinement. The repository is actively maintained with recent commits, a single open issue, and regular versioned releases (v2.0.7).

RATING8.1/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS3
VELOCITY0.97
OPEN ISSUES1
CLOSED ISSUES54
LAST COMMIT2 weeks ago
Files by Type (count)
C#
290
Markdown
20
Other (.xaml)
19
Other (.png)
15
Text
12
Other (.gif)
7
Other (.jpg)
6
JSON
5
Other (.csproj)
5
Other (.ttf)
5
Other (.pubxml)
3
Git Ignore
1
Files by Type (size)
Other (.gif)
18MB
Other (.ttf)
9MB
Other (.dll)
5MB
C#
3MB
Other (.jpg)
1MB
Other (.xaml)
640KB
Markdown
184KB
Other (.png)
78KB
JSON
39KB
Other (no ext)
34KB
Text
26KB
Other (.csproj)
25KB

The LLM identified 3 files worth highlighting for reuse:

Provides Korean initial consonant (chosung) matching and subsequence scoring for fuzzy search. Implements a custom scoring algorithm that ranks results by substring position and chosung match quality. Stateless and dependency-free, it can be extracted into any .NET project requiring Korean-friendly search.

file: src/Span/Span/Helpers/HangulSearchHelper.cs ↗ | tags: #fuzzy-search #korean-text #subsequence-matching

A reusable marquee (rubber band) selection helper for WinUI ListView and GridView controls. Uses a state machine with dead zone, auto-scroll, and differential selection updates. Detachable from any view via simple attach/detach calls, making it a drop-in component for any XAML-based list selection scenario.

file: src/Span/Span/Helpers/RubberBandSelectionHelper.cs ↗ | tags: #marquee-selection #listview #state-machine

Implements a generic disk-based cache with LRU eviction (delete files older than 7 days or exceeding 1GB), SHA1-based cache keys, and atomic tmp-file writes. Handles concurrent access with semaphore and includes waste collection for orphaned tmp files. The cache logic is entirely self-contained and can be reused for any disk-caching need with minimal adaptation.

file: src/Span/Span/Services/Thumbnails/ThumbnailDiskCache.cs ↗ | tags: #disk-cache #lru-eviction #sha1-key
Last analyzed: 2026-09-29 12:27:30.714885
Next check: 2026-10-06 12:27:30.672422
$ submit: