2009-05-17 18 views
0

Beim Ausprobieren der Beispiele unter pleac.sf.net kann ich kein Beispiel für ANSI-Farben auf meiner WinXP-Box finden (funktioniert auf MacOS). Was ich gefunden habe, ist, dass auf meinem WinXP-Maschine, in beiden cygwin & DOS-Aufforderungen, (und 'groovysh --terminal = Unix') zeigt Escape-Codes anstelle der erwarteten farbigen Eingabeaufforderung. grep --color funktioniert gut in der Cygwin-Terminal. Ich kann nichts Offensichtliches finden, dass ich falsch liege. Irgendwelche Ideen?ANSI-Farbunterstützung mit Groovy unter Windows XP

Hinweis: Ich bin mit Groovy 1.6.0

Update: Ich habe versucht ansi.sys meinen config.nt Zugabe hier Groovy-dev Mailing List erwähnt, aber es hat das Problem nicht beheben (versucht Neustart auch).

Antwort

1

Die Sache ist, Sie müssten DOSONLY zu Ihrer CONFIG.NT auch hinzufügen, um den Treiber ANSI.SYS arbeiten zu lassen, und dann würde es nur für COMMAND.COM funktionieren, das DOS 5.0 emuliert. Reguläre Eingabeaufforderungen (CMD.EXE) unterstützen überhaupt keine ANSI-Farben, afaict.

Ich weiß nicht viel darüber, wie Cygwin es behandelt.

0

Die Groovy-Website sagt, dass dies für Cygwin tun:

groovysh --terminal=unix  

Für die winxp Kommando-Shell, soweit ich weiß, gibt überhaupt keine ANSI-Unterstützung ist, nicht einmal mit ansi.sys. Farben werden nur von einigen MS-APIs unterstützt.

+0

"groovysh --terminal = unix" gibt das gleiche Ergebnis wie "groovysh --color" - ich bekomme die Escape-Codes statt der farbigen Eingabeaufforderung. Ich habe die Frage aktualisiert – Peter

0

Ein Workaround in Cygwin ist Xterm oder rxvt zu starten und es dort auszuführen.

3

ich das gleiche Problem haben, ist meine Lösung hässlich, aber einfach: Rohr groovy Ausgang Cygwin cat.exe Ihr Skript red.groovy Angenommen ist:

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

Dann von Kommando-Shell

groovy.bat red.groovy | cat 

wird die richtigen Farben anzeigen. Natürlich können Sie Ihren eigenen nativen Code schreiben, der die ANSI-Codes behandelt.

Verwandte Themen