You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add completion summary chart with file count distribution after successful run
Shows a mini horizontal bar chart (Unchanged/Added/Removed/Modified) with
Unicode block characters and console colors before the "finished without
errors" message. Extended DiffPipelineResult and RunCompletionState to
propagate file counts from SummaryStatistics through the pipeline.
https://claude.ai/code/session_01LEre156k3sMntSx8uGDXRj
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
13
13
14
14
-**`--banner` CLI option to display ASCII-art banner** — New CLI flag that prints the ASCII-art startup banner and exits with code `0`. Useful for verifying the tool is installed and accessible without running a full comparison. Modified: [`Runner/CliParser.cs`](Runner/CliParser.cs), [`Runner/CliOptions.cs`](Runner/CliOptions.cs), [`Runner/ProgramRunner.HelpText.cs`](Runner/ProgramRunner.HelpText.cs), [`ProgramRunner.cs`](ProgramRunner.cs), [`README.md`](README.md) (EN+JA options table, exit codes table). Tests: `ParseCliOptions_BannerFlag_SetsShowBanner` in [`CliOptionsTests`](FolderDiffIL4DotNet.Tests/CliOptionsTests.cs), `RunAsync_BannerFlag_ExitsZeroWithBannerOutput` in [`ProgramRunnerTests`](FolderDiffIL4DotNet.Tests/ProgramRunnerTests.HelpVersion.cs). Test count: 1008 (+3).
15
15
16
+
- **Completion summary chart after successful run** — Displays a mini horizontal bar chart on the console after a successful diff run, showing the distribution of Unchanged, Added, Removed, and Modified files with counts and percentages. Each category uses a distinct console color (DarkGray, Green, Red, Yellow) and Unicode block characters (`█`/`░`). The chart appears just before the "finished without errors" message. Labels are left-aligned with bars starting at a consistent column. Skipped when total file count is zero. Modified: [`ProgramRunner.cs`](ProgramRunner.cs) (`OutputCompletionSummaryChart`, `OutputSummaryBar`), [`Runner/ProgramRunner.Types.cs`](Runner/ProgramRunner.Types.cs) (extended `RunCompletionState` and `ProgramRunResult` with count fields), [`Runner/DiffPipelineExecutor.cs`](Runner/DiffPipelineExecutor.cs) (extended `DiffPipelineResult` with count fields, propagated `SummaryStatistics`). Tests: `OutputCompletionSummaryChart_WritesBarForEachCategory`, `OutputCompletionSummaryChart_ZeroTotal_WritesNothing`, `OutputCompletionSummaryChart_BarsAreLeftAligned` in [`ProgramRunnerTests`](FolderDiffIL4DotNet.Tests/ProgramRunnerTests.HelpVersion.cs). Test count: 1011 (+3).
17
+
16
18
- **`--dry-run` CLI option for pre-execution preview** — New CLI flag that enumerates files in old/new folders and displays comparison statistics (file counts per folder, union count, .NET assembly candidates, ignored files, top file extensions, network path detection, parallelism settings) without running actual comparisons or generating reports. This allows users to verify scope and estimate execution time before committing to a potentially long-running diff on large folder trees or network shares. The Reports directory is not created during dry run. New files: [`Runner/DryRunExecutor.cs`](Runner/DryRunExecutor.cs). Modified: [`Runner/CliParser.cs`](Runner/CliParser.cs), [`Runner/CliOptions.cs`](Runner/CliOptions.cs), [`Runner/ProgramRunner.HelpText.cs`](Runner/ProgramRunner.HelpText.cs), [`ProgramRunner.cs`](ProgramRunner.cs), [`README.md`](README.md) (EN+JA options table). Tests: `ParseCliOptions_DryRunFlag_SetsDryRun` in [`CliOptionsTests`](FolderDiffIL4DotNet.Tests/CliOptionsTests.cs), `RunAsync_HelpFlag_OutputContainsDryRunOption`, `RunAsync_DryRunFlag_ExitsZeroWithPreviewOutput`, `RunAsync_DryRunFlag_DoesNotCreateReportsDirectory` in [`ProgramRunnerTests`](FolderDiffIL4DotNet.Tests/ProgramRunnerTests.HelpVersion.cs). Test count: 998 (+4).
17
19
18
20
- **Strengthen disassembler warnings in reports** — Added two new warning banners to both Markdown and HTML report headers: (1) a prominent warning when no disassembler tool is available at startup, alerting users that .NET assembly comparison will fail; (2) a warning when multiple different disassembler tools (e.g., dotnet-ildasm and ilspycmd) were used in the same run, which could lead to false ILMismatch results due to format differences. Also corrected the SHA256Mismatch warning message from the misleading "not a .NET assembly or disassembler unavailable" to the accurate "not a .NET assembly and not a recognized text file" (since disassembler failure actually aborts the file comparison rather than falling through to binary-only). Modified: [`Services/SectionWriters/WarningsSectionWriter.cs`](Services/SectionWriters/WarningsSectionWriter.cs), [`Services/SectionWriters/HeaderSectionWriter.cs`](Services/SectionWriters/HeaderSectionWriter.cs), [`Services/ReportGenerateService.cs`](Services/ReportGenerateService.cs) (added `WriteDisassemblerWarnings`), [`Services/HtmlReport/HtmlReportGenerateService.Helpers.cs`](Services/HtmlReport/HtmlReportGenerateService.Helpers.cs) (added `AppendDisassemblerWarnings`), [`Services/HtmlReport/HtmlReportGenerateService.Sections.cs`](Services/HtmlReport/HtmlReportGenerateService.Sections.cs), [`Common/Constants.cs`](Common/Constants.cs), [`Services/HtmlReport/js/diff_report_excel.js`](Services/HtmlReport/js/diff_report_excel.js), [`doc/samples/diff_report.md`](doc/samples/diff_report.md), [`doc/samples/diff_report.html`](doc/samples/diff_report.html). Tests: `GenerateDiffReport_WarnsWhenNoDisassemblerAvailable`, `GenerateDiffReport_NoDisassemblerWarning_WhenOneIsAvailable`, `GenerateDiffReport_WarnsWhenMultipleDisassemblersUsed`, `GenerateDiffReport_NoMixedWarning_WhenSingleDisassemblerUsed` in [`ReportGenerateServiceTests.Header`](FolderDiffIL4DotNet.Tests/Services/ReportGenerateServiceTests.Header.cs); `GenerateDiffReportHtml_WarnsWhenNoDisassemblerAvailable`, `GenerateDiffReportHtml_NoDisassemblerWarning_WhenOneAvailable`, `GenerateDiffReportHtml_WarnsWhenMultipleDisassemblersUsed` in [`HtmlReportGenerateServiceTests.Filtering`](FolderDiffIL4DotNet.Tests/Services/HtmlReportGenerateServiceTests.Filtering.cs). Test count: 1005 (+7).
@@ -778,6 +780,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
0 commit comments