force-ansi

Crates.ioforce-ansi
lib.rsforce-ansi
version
sourcesrc
created_at2024-12-04 08:32:04.351708
updated_at2024-12-04 09:03:40.896693
descriptionA command-line wrapper program that can force ANSI code to be enabled in the Windows console.
homepagehttps://github.com/opensound-org/force-ansi
repositoryhttps://github.com/opensound-org/force-ansi
max_upload_size
id1471701
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
29 (czy-29)

documentation

README

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.

Commit count: 8

cargo fmt