2009-05-17 3 views
0

Пробуя примеры, найденные на pleac.sf.net, я не могу получить пример цветов ANSI для работы в моем окне WinXP (отлично работает на MacOS). То, что я обнаружил, что на моей машине WinXP, как в Cygwin & DOS, предлагающее groovysh --color«groovysh --terminal = Юникс») показывает символьные коды, а не ожидаемый цветной запрос. grep --color работает отлично в терминале cygwin. Я не могу найти ничего очевидного, что я ошибаюсь. Есть идеи?Поддержка цвета ANSI с использованием Groovy в Windows XP

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

Update: Я пытался добавить ANSI.SYS к моему Config.nt упомянутые здесь Groovy-dev Mailing List, но это не устранило проблему (пробовал перезагрузка тоже).

ответ

1

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

Не знаю, как это работает cygwin.

0

Отлич- сайт говорит, чтобы сделать это для Cygwin:

groovysh --terminal=unix  

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

+0

«groovysh --terminal = unix» дает тот же результат, что и «groovysh --color». Я получаю escape-коды, а не цветные подсказки. Я обновил вопрос – Peter

0

Обходной путь в cygwin заключается в том, чтобы запустить xterm или rxvt и запустить его там.

3

У меня та же проблема, что мое решение некрасиво, но простой: Pipe заводной выход в Cygwin cat.exe Предположим, что ваш сценарий red.groovy является:

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

Тогда из командной оболочки

groovy.bat red.groovy | cat 

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

Смежные вопросы