Skip to content

Style fallout-migrate's banner and summary output with AnsiConsole#508

Draft
dennisdoomen wants to merge 1 commit into
improve-migrationfrom
migrate-ansiconsole-output
Draft

Style fallout-migrate's banner and summary output with AnsiConsole#508
dennisdoomen wants to merge 1 commit into
improve-migrationfrom
migrate-ansiconsole-output

Conversation

@dennisdoomen

@dennisdoomen dennisdoomen commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #507. Replaces the plain Console.WriteLine calls in MigrateCommand's banner and summary printing with Spectre.Console's AnsiConsole.

image

What changed

  • Bold banner text, yellow dry-run notice
  • Bold counts, yellow warnings, green completion message, dimmed guide link in the summary
  • Interpolated values (paths, warning text) go through MarkupLineInterpolated so user-controlled content can't be misread as markup

Left untouched:

  • Console.Error.WriteLine for the two error messages -- stderr semantics matter for piping/exit codes
  • The TextWriter-based per-file/per-rename logging in Steps/Common -- stays plain text so MigrationIntegrationSpecs can keep capturing it via TextWriter.Null without a console

No behavior change; internal-only, no public API touched.

Verification

dotnet test tests/Fallout.Migrate.Specs -- 22/22 pass.

Replace the plain Console.WriteLine calls in MigrateCommand's banner
and summary printing with Spectre.Console's AnsiConsole: bold banner,
yellow dry-run notice and warnings, green completion messages, dimmed
guide link. Interpolated values (paths, warning text) go through
MarkupLineInterpolated so user-controlled content can't be
misinterpreted as markup.

Left Console.Error.WriteLine for the two error messages (stderr
semantics matter for piping/exit codes) and the TextWriter-based
per-file/per-rename logging in the Steps/Common classes untouched --
that log stays plain text so MigrationIntegrationSpecs can keep
capturing it via TextWriter.Null without a console.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@dennisdoomen dennisdoomen added target/vCurrent Targets the current version skip-changelog labels Jul 18, 2026
@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

mind adding a screenshot to the PR for future reference?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog target/vCurrent Targets the current version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants