在Windows XP上使用Groovy的ANSI颜色支持

5lwkijsr  于 2023-03-22  发布在  Windows
关注(0)|答案(4)|浏览(160)

尝试在pleac.sf.net上找到的示例,我无法在WinXP机器上找到ANSI颜色的示例(在MacOS上运行良好)。我发现在我的WinXP机器上,在cygwin和DOS提示符中,一月一日(和**'groovysh--terminal= unix')显示转义码,而不是预期的彩色提示符。grep --color**在cygwin终端中工作正常。我找不到任何明显的错误。有什么想法吗?

**注意:**我使用的是Groovy 1.6.0
**更新:**我已经尝试将ANSI.sys添加到我的config.nt中,这里提到了Groovy-dev邮件列表,但它没有解决这个问题(也尝试重新启动)。

5tmbdcev

5tmbdcev1#

我也有同样的问题,我的解决方案很丑陋但很简单:将groovy输出管道到cygwin cat.exe假设你的脚本red.groovy是:

println "\u001B[31mI'm Red\u001B[0m Now not"

然后从命令shell

groovy.bat red.groovy | cat

将显示正确的颜色。当然,您可以编写自己的本机代码来处理ANSI代码。

vsdwdz23

vsdwdz232#

问题是,你必须在CONFIG.NT中添加DOSONLY,才能让ANSI.SYS驱动程序工作,然后它只能在COMMAND.COM中工作,COMMAND.COM模拟DOS 5.0。常规命令提示符(CMD.EXE)根本不支持ANSI颜色,afaict。
我不太了解cygwin是怎么处理的。

pod7payv

pod7payv3#

Groovy网站上说要为cygwin做到这一点:

groovysh --terminal=unix

对于winxp命令shell,据我所知,根本没有ANSI支持,甚至ansi.sys也没有。颜色只通过一些MS API支持。

p8ekf7hl

p8ekf7hl4#

cygwin中的一个变通方法是启动xterm或rxvt并在那里运行它。

相关问题