Вопрос

Пробуем примеры, найденные на pleac.sf.net, мне не удалось получить пример цветов ANSI для работы на моем компьютере с WinXP (отлично работает на MacOS).Я обнаружил, что на моем компьютере с WinXP в приглашениях cygwin и DOS groovysh --color'отличный --терминал=unix') отображает escape-коды, а не ожидаемую цветную подсказку. grep --color отлично работает в терминале Cygwin.Я не могу найти ничего очевидного, что я делаю неправильно.Есть идеи?

Примечание: Я использую Groovy 1.6.0

Обновлять: Я попытался добавить ANSI.sys в мой config.nt, упомянутый здесь. Список рассылки Groovy-dev но это не решило проблему (пробовал также перезагрузку).

Это было полезно?

Решение

Дело в том, что вам придется добавить DOSONLY в ваш CONFIG.NT, чтобы драйвер ANSI.SYS работал, и тогда он будет работать только для COMMAND.COM, который эмулирует DOS 5.0.Обычные командные строки (CMD.EXE) вообще не поддерживают цвета ANSI.

Я мало что знаю о том, как Cygwin с этим справляется.

Другие советы

У меня та же проблема, мое решение уродливое, но простое:Труба Groovy выход в Cygwin Cat.exe Предположим, что ваш скрипт красный.

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

Затем из командной оболочки

groovy.bat red.groovy | cat

будет отображать правильные цвета.Конечно, вы можете написать свой собственный код, обрабатывающий коды ANSI.

На сайте Groovy написано, что нужно сделать это для cygwin:

groovysh --terminal=unix    

Для командной оболочки winxp, насколько мне известно, вообще нет поддержки ANSI, даже в ansi.sys.Цвета поддерживаются только через некоторые API MS.

Обходной путь в cygwin — запустить xterm или rxvt и запустить его там.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top