ANSI color is not retained across multiple `print(ln)!`'s in Windows legacy console
Open
Nobody has claimed this yet.
A-stream
C-bug
- Dominant language
- HTML
- Stars
- 171
- Forks
- 44
- Avg merge
- 2h 34m
- Merged PRs (30d)
- 6
Description
Cargo.toml
[package]
name = "anstream-test"
version = "0.1.0"
edition = "2021"
[dependencies]
anstream = "0.6.18"
src/main.rs
use anstream::{print, println};
fn main() {
print!("\x1b[90m(print!) This text is displayed in gray.\n");
print!("(print!) This text should also be displayed in gray.\n");
println!("\x1b[90m(println!) This text is displayed in gray.");
println!("(println!) This text should also be displayed in gray.\x1b[0m");
}
Steps to reproduce
Run cargo run in CMD/PowerShell with 'Legacy Console mode' enabled.
Expected result
All the lines should be displayed in gray, just like in the non-legacy Windows Console.
Actual result
Only the lines that output \x1b[90m are displayed in gray (1st and 3rd lines).
Environment
- Windows 10 22H2 Home x64
10.0.19045.5011 - Visual Studio Community 2022
17.11.5/ Windows 11 SDK10.0.26100.0 - Default host:
x86_64-pc-windows-msvc - Active toolchain:
stable-x86_64-pc-windows-msvc(default) / rustc1.82.0(f6e511eec 2024-10-15)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin with the Cargo.toml and src/main.rs reproduction on Windows with Legacy Console mode enabled, then trace anstream's handling of ANSI output for that console. Done means the reproduced print! and println! lines retain gray coloring across successive calls, while behavior in the non-legacy console remains correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100