在 Windows XP 上使用 Groovy 的 ANSI 颜色支持
尝试 pleac.sf.net 上找到的示例,我无法获取适用于我的 WinXP 机器的 ANSI 颜色示例(在 MacOS 上运行良好)。 我发现在我的 WinXP 机器上,在 cygwin 和 DOS 提示符,groovysh --color
(和 'groovysh --terminal=unix')显示转义码,而不是预期的彩色提示符。 grep --color
在 cygwin 终端中工作得很好。 我找不到任何明显的事情表明我做错了。 有任何想法吗?
注意:我正在使用 Groovy 1.6.0
更新:我尝试将 ANSI.sys 添加到此处提到的 config.nt Groovy-dev 邮件列表但它没有解决问题(也尝试重新启动)。
Trying out the examples found on pleac.sf.net, I'm not able to get an example of ANSI colors to work on my WinXP box (Works fine on MacOS). What I've found is that on my WinXP machine, in both cygwin & DOS prompts, groovysh --color
(and 'groovysh --terminal=unix') shows escape codes rather than the expected colored prompt. grep --color
works just fine in the cygwin terminal. I can't find anything obvious that I'm doing wrong. Any ideas?
Note: I'm using Groovy 1.6.0
Update: I've tried adding ANSI.sys to my config.nt mentioned here Groovy-dev Mailing List but it didn't fix the problem (tried rebooting too).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我有同样的问题,我的解决方案很丑陋但很简单:Pipe groovy output to cygwin cat.exe
假设您的脚本 red.groovy 是:
然后从命令 shell
将显示正确的颜色。
当然,您可以编写自己的本机代码来处理 ANSI 代码。
I have the same problem, my solution is ugly but simple: Pipe groovy output to cygwin cat.exe
Suppose your script red.groovy is:
Then from command shell
will display the right colors.
Of course you can write your own native code that handle the ANSI codes.
问题是,您还必须将 DOSONLY 添加到 CONFIG.NT 中才能使 ANSI.SYS 驱动程序正常工作,然后它只适用于模拟 DOS 5.0 的 COMMAND.COM。 常规命令提示符 (CMD.EXE) 根本不支持 ANSI 颜色,这是事实。
我不太了解cygwin如何处理它。
The thing is, you'd have to add DOSONLY to your CONFIG.NT as well to make the ANSI.SYS driver work, and then it would only work for COMMAND.COM which emulates DOS 5.0. Regular Command Prompts (CMD.EXE) do not support ANSI colors at all, afaict.
I don't know much about how cygwin handles it.
Groovy 站点说要为 cygwin 执行此操作:
对于 winxp 命令 shell,据我所知,根本不支持 ANSI,甚至连 ansi.sys 也不支持。 仅通过某些 MS API 支持颜色。
The Groovy site says to do this for cygwin:
For the winxp command shell, as far as I know, there is no ANSI support at all, not even with ansi.sys. Colors are supported through some MS API only.
cygwin 中的解决方法是启动 xterm 或 rxvt 并在那里运行它。
A workaround in cygwin is to launch xterm or rxvt and run it there.