Conversation
…utility extensions Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/43c1b0cc-139f-46f8-9717-63e43e341fc1 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
|
@copilot remove the |
Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/56664dc8-6a19-453c-9c1a-fa9b6aa2d4b8 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Introduces PowerKit, a source-only NuGet package that consolidates shared, BCL-only utility and extension helpers for reuse across Tyrrrz projects (PolyShim-style packaging).
Changes:
- Adds a source-only packaging setup (
PowerKit.csproj+build/PowerKit.props) that forcesLangVersion=previewfor consumers. - Implements a set of internal utility extensions (async enumerable helpers, string/stream/path helpers, etc.) plus a small
Disposablehelper. - Adds repo-level build/config scaffolding (solution, SDK pinning, NuGet config, license, gitignore, shared props).
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| PowerKit/PowerKit.props | MSBuild props for consumers (sets LangVersion=preview). |
| PowerKit/PowerKit.csproj | Source-only NuGet packing configuration (contentFiles + build props). |
| PowerKit/Disposable.cs | Disposable factory helpers (Null, Create, Merge). |
| PowerKit/Extensions/AsyncCollectionExtensions.cs | Async enumerable helpers (TakeAsync, ToListAsync, awaiter). |
| PowerKit/Extensions/CollectionExtensions.cs | Enumerable helpers (null filtering, singleton, nullable element access). |
| PowerKit/Extensions/ExceptionExtensions.cs | Exception traversal helpers. |
| PowerKit/Extensions/GenericExtensions.cs | Functional helpers (Pipe, NullIf*). |
| PowerKit/Extensions/PathExtensions.cs | Cross-platform filename escaping helper. |
| PowerKit/Extensions/StreamExtensions.cs | Stream copy helpers (auto-flush, progress reporting). |
| PowerKit/Extensions/StringExtensions.cs | String + StringBuilder helper extensions. |
| PowerKit/Extensions/TextReaderExtensions.cs | Async line enumeration for TextReader. |
| PowerKit/Extensions/TimeSpanExtensions.cs | TimeSpan.Clamp. |
| PowerKit.slnx | Solution file in slnx format. |
| NuGet.config | Defines NuGet.org as the only package source + default push source. |
| License.txt | MIT license file. |
| global.json | Pins .NET SDK version. |
| Directory.Build.props | Shared build/package metadata defaults. |
| .gitignore | Standard ignores for VS/IDE/build outputs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Updated copyright year in the License file.
…tandard2.0, remove props Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/7af97092-2f8d-463c-8357-7b2ac9afa654 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Done in 8c4b9aa. All classes renamed to
|
…ait, CanSeek, fileName param Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/f217b614-b393-402a-857b-37113c1e00d1 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
|
@copilot can you also add tests? |
…ogress<T> Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/ecac02d7-08e2-43dc-b7ea-cf8e9ab88ccb Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
… methods Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/a4aa3bce-c192-4069-aaec-55a6553835d2 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
…yToAsync_Progress_Test) Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/f8dd53be-d7fe-4818-a11e-69427b83c252 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 34 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot #1 (comment) please address this |
…0x1F and add braces to foreach Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/a2731348-f326-4da6-af04-9d444f6f2efd Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/bb331d67-d827-44d6-825d-c79bf921f897 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
|
@copilot update the PR body with the summary of everything done |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 34 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ensions, braces in AsyncEnumerableExtensions, add SubstringUntilLast/SubstringAfterLast, refactor PathExtensions with GetInvalidFileNameChars/GetInvalidPathChars/crossPlatform param Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/f860d5c2-2b94-48ae-a785-334b01ce9d09 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/f860d5c2-2b94-48ae-a785-334b01ce9d09 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…eChars to reduce duplication Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/56e3e0eb-b42d-49cc-a361-0b7b771dd982 Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
ctochin PathExtensions.cs and StringExtensions.csGetInvalidFileNameCharsandGetInvalidPathCharswithcrossPlatformparameter, updateEscapeFileNameSubstringUntilLastandSubstringAfterLastto StringExtensionsOriginal prompt