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

时间:2009-05-17 10:32:50

标签: groovy windows-xp cygwin ansi groovyshell

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

注意:我正在使用Groovy 1.6.0

更新:我尝试将ANSI.sys添加到我在此处提到的config.nt Groovy-dev Mailing List,但它没有解决问题(尝试重新启动)。

4 个答案:

答案 0 :(得分:3)

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

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

然后从命令shell

groovy.bat red.groovy | cat

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

答案 1 :(得分:1)

问题是,您必须将DOSONLY添加到您的CONFIG.NT以使ANSI.SYS驱动程序工作,然后它只适用于模拟DOS 5.0的COMMAND.COM。常规命令提示符(CMD.EXE)根本不支持ANSI颜色。

我不太了解cygwin如何处理它。

答案 2 :(得分:0)

Groovy网站说要为cygwin执行此操作:

groovysh --terminal=unix    

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

答案 3 :(得分:0)

cygwin的解决方法是启动xterm或rxvt并在那里运行。