Skip to content

A command-line wrapper program that can force ANSI code to be enabled in the Windows console.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

opensound-org/force-ansi

Repository files navigation

force-ansi

English | 简体中文

A command-line wrapper program that can force ANSI code to be enabled in the Windows console

Website | crates.io

Original Author: @czy-29

Latest version: v1.0.0

Crates.io Total Downloads GitHub Repo stars

dependency status (version) dependency status (git)

Static Badge

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:

  1. nu_ansi_term::enable_ansi_support()
  2. Console Virtual Terminal Sequences
  3. When ANSI is enabled, nu_ansi_term::enable_ansi_support() should be called on Windows
  4. Bug: Enabling ANSI colors for tracing logs on Windows requires calling nu_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

Star History Chart

License

This project is licensed under either of

at your option.

Contribution

Github is our single source of truth, where we welcome all issues and pull requests.

We also have two downstream read-only mirrors that are automatically pushed:

As they are read-only mirrors, please do not initiate any merge or pull requests on these two platforms.

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.

About

A command-line wrapper program that can force ANSI code to be enabled in the Windows console.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages