【问题标题】:ANSI color support using Groovy on Windows XP在 Windows XP 上使用 Groovy 支持 ANSI 颜色
【发布时间】:2009-05-17 10:32:50
【问题描述】:

尝试在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 Mailing List,但它没有解决问题(也尝试重新启动)。

【问题讨论】:

    标签: groovy windows-xp cygwin ansi groovyshell


    【解决方案1】:

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

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

    然后从命令外壳

    groovy.bat red.groovy | cat
    

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

    【讨论】:

      【解决方案2】:

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

      我不太了解cygwin是如何处理的。

      【讨论】:

        【解决方案3】:

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

        groovysh --terminal=unix    
        

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

        【讨论】:

        • "groovysh --terminal=unix" 给出与 "groovysh --color" 相同的结果 - 我得到的是转义码而不是彩色提示。我已经更新了问题
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-26
          • 2014-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多