4 releases (2 stable)
| 1.0.1 | Feb 3, 2026 |
|---|---|
| 1.0.0 | Dec 4, 2024 |
| 0.0.2 | Dec 4, 2024 |
| 0.0.1 | Dec 4, 2024 |
#119 in Debugging
13KB
force-ansi
English | 简体中文
A command-line wrapper program that can force ANSI code to be enabled in the Windows console
Original Author: @czy-29
Latest version: v1.0.1
What
A command-line wrapper program that can force ANSI code to be enabled in the Windows console.
Why
In the Windows console (whether it's cmd or PowerShell), if you want to use ANSI code (such as ANSI colors) properly, you need to call some Windows APIs to manually enable it.
However, some command-line programs on Windows use ANSI code but do not enable it correctly. This project, as a wrapper program, aims to force ANSI support for you on Windows. For programs that were previously unable to display ANSI code correctly, after wrapping them with this program, ANSI code will be displayed normally (command-line arguments will be passed through to the target program).
Reference links:
- nu_ansi_term::enable_ansi_support()
- Console Virtual Terminal Sequences
- When
ANSIis enabled,nu_ansi_term::enable_ansi_support()should be called onWindows - Bug: Enabling
ANSIcolors fortracinglogs onWindowsrequires callingnu_ansi_term::enable_ansi_support()
How
This is a pure binary project. You can use the following command to install:
cargo install force-ansi
Note that this will install two programs: force-ansi.exe and abnormal-ansi.exe.
force-ansi.exe is our main program, which you can use on any target program.
abnormal-ansi.exe is an example target program we provide.
You can first run abnormal-ansi in cmd or PowerShell to see if the console will output garbled characters.
Then run:
force-ansi abnormal-ansi
to see if the console can render ANSI colors normally now.
The usage for other target programs is consistent, and command-line arguments are simply passed transparently.
Star History
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Github is our single source of truth, where we welcome all issues and pull requests.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in force-ansi by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
Dependencies
~7–11MB
~126K SLoC