All notable changes to RCDir are documented in this file.
/Treeswitch: hierarchical directory tree view with Unicode box-drawing connectors (├──,└──,│)/Depth=Nswitch: limit tree recursion depth (e.g.,/Depth=2shows two levels)/TreeIndent=Nswitch: configurable indent width per tree level (1–8, default 4)/Size=Autoswitch: Explorer-style abbreviated file sizes (e.g.,8.90 KB,1.00 MB,2.38 GB) with fixed 7-character width — default in tree mode/Size=Bytesswitch: explicit opt-in for exact comma-separated sizes (existing default for non-tree modes)- Tree connector color (
TreeConnector) configurable viaRCDIRenvironment variable - RCDIR env var support for
Tree,Tree-,Depth=N,TreeIndent=N,Size=Auto,Size=Bytes - Thread-safe empty subdirectory pruning when file masks are active (producer-side upward propagation via parent back-pointers and condition variables)
- Reparse-point cycle guard: junction/symlink directories are listed but not expanded, preventing infinite loops in both
/Sand/Treemodes - Interleaved sort in tree mode: directories and files sorted together (not grouped)
- Per-directory summary at each tree level plus grand total at end
- Comprehensive test suite: 314 tests covering tree connectors, depth limiting, pruning, streams, icons, reparse points, and column alignment
- Minor version bump from 5.0 to 5.1
/Treecannot be combined with/W(wide),/B(bare),/S(recurse), or/Owner/Size=Bytescannot be used with/Tree(tree mode requires fixed-width sizes)/Depthand/TreeIndentrequire/Tree
- Application icon and VERSIONINFO resource block for Windows file properties
- WinGet package manifest (
relmer.RCDir) and automated publish step
- Statically link the C runtime (eliminates vcruntime140.dll dependency)
- WinGet workflow: install wingetcreate before publish step
- WinGet workflow: use
envcontext for PAT secret in step conditions
Minor fixes.
/O:d-(and similar trailing characters after the sort key) now correctly produces an error instead of being silently ignored- Mapped network drives could resolve UNC path information incorrectly
- Cloud status help section now shows Nerd Font glyphs when a Nerd Font is active
Added Nerd Fonts icon support for file extensions and well-known directories. Port of initial TCDir implementation of this feature.
- Initial release — complete Rust port of TCDir with full feature parity.
- Colorized directory listing with headers and footers
- File size, date/time, and attribute columns
- Sort options: name, extension, size, date (
/Oswitch) - Attribute filtering (
/A:switch with all standard + cloud attributes) - Mask grouping: multiple patterns targeting the same directory grouped and deduplicated
- Page-at-a-time display (
/Pswitch)
- Recursive directory listing (
/Sswitch) - Multi-threaded producer-consumer architecture with streaming output
- Single-threaded fallback for single-file mask patterns
- Wide listing mode (
/Wswitch) with dynamic column layout - Bare listing mode (
/Bswitch) with full paths
- Cloud sync status visualization for OneDrive, iCloud, etc.
- Status symbols: ○ (cloud-only), ◐ (local), ● (pinned/always available)
- Cloud attribute filters:
/A:O(cloud-only),/A:L(local),/A:V(pinned)
- File owner display (
/Qswitch) viaGetNamedSecurityInfoW/LookupAccountSidW - Alternate data streams display (
/Rswitch) viaFindFirstStreamW/FindNextStreamW
- ~187 file extension icon mappings aligned with Terminal-Icons default theme
- ~65 well-known directory icon mappings (Terminal-Icons aligned with intentional deviations)
- Auto-detection of Nerd Font availability via system font enumeration
- WezTerm auto-detection (bundles Nerd Font symbols natively)
- ConPTY terminal detection (Windows Terminal, VS Code, etc.)
/Iconsand/Icons-CLI switches for manual icon overrideRCDIR=Icons/RCDIR=Icons-env var for persistent icon preferenceRCDIR=.ext=Color,U+XXXXicon override syntax for per-extension custom icons- Cloud status Nerd Font glyph upgrade (nf-md glyphs when NF available)
- Icon colors inherit file type colors from extension color configuration
- Icon display in
/Configand/Envdiagnostics
RCDIRenvironment variable for persistent configuration- Extension color customization (e.g.,
RCDIR=.rs=Cyan) - Background color support (e.g.,
RCDIR=.log=White on Blue) - Well-known directory color overrides (e.g.,
RCDIR=dir:node_modules=DarkGray) - Configuration display (
/Configswitch) with color table, icon status, and env var diagnostics - Color validation: invalid background colors reject entire entry; same fg/bg rejected as unreadable
- Foreground colors matching terminal background auto-corrected with contrasting background
- Colorized help output (
/?switch) - Environment variable help (
/Envswitch) with syntax reference and active overrides - Performance timing (
/Tswitch)
- Dual-target builds: x86_64-pc-windows-msvc and aarch64-pc-windows-msvc
- Auto-increment build version via
build.rsandVersion.toml - Release profile: LTO, single codegen unit, symbol stripping
- CI/CD pipeline with GitHub Actions (build, clippy, test, artifact upload)
- PowerShell build, test, and deploy scripts