Skip to content

Latest commit

 

History

History
87 lines (56 loc) · 3.96 KB

README-CN.md

File metadata and controls

87 lines (56 loc) · 3.96 KB

force-ansi

English | 简体中文

一个可以在Windows控制台中强制启用ANSI代码的命令行wrapper程序

官网 | crates.io

原始作者:@czy-29

最新版本:v1.0.0

Crates.io Total Downloads GitHub Repo stars

dependency status (version) dependency status (git)

Static Badge

是什么

一个可以在Windows控制台中强制启用ANSI代码的命令行wrapper程序。

为什么

在Windows控制台(无论是 cmd 还是 PowerShell )中,如果想正常使用ANSI代码(如ANSI颜色),需要调用一些Windows API手动启用。

然而有一些命令行程序在Windows上使用了ANSI代码,却没有正确启用它。本项目作为一个Wrapper程序,旨在Windows上为您强制启用ANSI支持。对于之前无法正确显示ANSI代码的程序,使用本程序包裹一下之后,ANSI代码将可以正常显示(命令行参数会透传至目标程序)。

参考链接:

  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()

怎么用

这是一个纯二进制项目。您可以使用以下命令安装:

cargo install force-ansi

注意,这将安装两个程序:force-ansi.exeabnormal-ansi.exe

force-ansi.exe 是我们的主程序,您可以对任意目标程序使用它。

abnormal-ansi.exe 是我们提供的一个示例目标程序。

您可以首先在 cmdPowerShell 中运行 abnormal-ansi,看一下是不是控制台中会输出乱码。

然后您再运行:

force-ansi abnormal-ansi

看看现在是不是控制台可以正常渲染ANSI颜色了。

对于其它目标程序的用法是一致的,命令行参数就是简单地透传。

Star历史

Star History Chart

许可证

本项目使用以下两种许可之一

由您选择。

贡献

Github是我们的单一信源,这里我们欢迎所有的issue和pull request。

我们另有两个自动推送的下游只读镜像:

由于它们是只读镜像,因此请不要在这两个平台上发起任何合并请求或pull request。

除非您另有明确说明,否则您有意提交的 包含在 force-ansi 中的任何贡献(如 Apache-2.0 许可证中所定义)均应 获得上述双重许可,无需任何附加条款或条件。