style: enable colors in native Windows consoles - #9
Merged
Merged
Conversation
Enable ANSI processing before selecting terminal capabilities and use the RGB palette for native Windows consoles without Unix environment variables. Co-authored-by: Codex <noreply@openai.com>
karalabe
added a commit
that referenced
this pull request
Sep 15, 2026
Enabling ANSI processing makes the console crate's `is_msys_tty()` return true even for native Windows consoles. The palette check added in #9 therefore selected bold-only output again, and the Windows regression test failed. Identify native console handles with `GetConsoleMode`, keeping RGB selection independent of whether ANSI is already enabled. Extend the regression to cover repeated theme initialization on the same console. Follow-up to #9 for #7. Co-authored-by: Codex <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plain Windows
cmdsessions leaveTERMandCOLORTERMunset, so the CLI selected bold-only output. Normal command output also skipped enabling Windows ANSI processing.Enable ANSI processing for each terminal stream and use the RGB palette for native Windows consoles. Preserve color opt-outs and plain JSON or redirected output, and disable live progress when ANSI processing is unavailable. A Windows regression test exercises stdout and stderr in a private console with ANSI initially disabled and no Unix terminal variables.
Fixes #7.