Tags: modelingevolution/fs
Tags
Add FileSystemPath.Resolve for cross-platform path translation Static class with platform detection in static ctor (no branching per call). On Linux/WSL: converts Windows drive paths (D:\source) to /mnt/d/source. On Windows: converts /mnt/d/source to D:\source. Non-drive paths get separator normalization only. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add Length property to AbsolutePath and RelativePath Co-Authored-By: Claude Opus 4.6 <[email protected]>
Add path + extension operators - RelativePath + FileExtension = RelativePath - AbsolutePath + FileExtension = AbsolutePath Example: "document" + FileExtension.Txt => "document.txt" Co-Authored-By: Claude Opus 4.5 <[email protected]>
Breaking: Strongly-typed API with FileExtension value type BREAKING CHANGES: - Remove Value property (use implicit string conversion) - Remove Exists, IsFile, IsDirectory (no filesystem access) - Remove CurrentDirectory (no filesystem access) - FileName now returns RelativePath instead of string - Root now returns AbsolutePath? instead of string - Extension now returns FileExtension instead of string NEW: - FileExtension value type with WithDot/WithoutDot properties - Common extensions: Txt, Json, Cs, Md, etc. - IsOneOf() for extension matching - FileNameWithoutExtension property - ChangeExtension() method 99 tests passing. Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add NuGet package metadata with README - Package description, tags, license (MIT) - Include README.md in NuGet package - Repository and project URLs Co-Authored-By: Claude Opus 4.5 <[email protected]>