Подтвердить что ты не робот

Как можно отключить цветной вывод терминала для sbt/play?

Я хотел бы отключить коды эвакуации цвета, записанные из sbt/play. Это возможно? И если это так, есть ли способ сделать это, не внося изменения в конфигурацию, то есть с помощью командной строки или системного свойства.

4b9b3361

Ответ 1

Вы можете просто установить системное свойство sbt.log.noformat на true. Если вы хотите, например, используйте SBT внутри Vim, вы можете создать script следующим образом:

#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "[email protected]"

Ответ 2

Начиная с версии 0.13.8 (и, возможно, раньше), вы можете просто использовать опцию -no-colors для sbt. например.

sbt -no-colors test

Ответ 3

Это похоже на то, что ваша платформа не соответствует реальному свойству jline.terminal. Я просто угадываю здесь, но когда я передаю параметр, предложенный Даниэлем в командной строке Windows, я также вижу цветовые escape-коды.

Следовательно, вы должны убедиться, что свойство соответствует вашей платформе, то есть WindowsTerminal на Windows и UnixTerminal на Unix.

Если это не поможет, вы можете оказаться на неподдерживаемой платформе, и в этом случае веб-сайт предлагает использовать:

-Djline.terminal=jline.UnsupportedTerminal

Ответ 4

Ну, вы можете получить цвета в Windows, установив Cygwin и передав этот параметр:

-Djline.terminal=jline.UnixTerminal

Итак, я просмотрел параметры jline, чтобы узнать, что отключает цветовое кодирование.

Ответ 5

Мне удалось получить цветной вывод из SBT в Cygwin, добавив:

-Djline.terminal=jline.UnixTerminal

Кроме того, я понял, что мне также необходимо добавить следующую строку в Cygwin.bat:

set CYGWIN=tty ntsec

После этого SBT дает очень приятный цветной выход. Кроме того, я бы порекомендовал посмотреть на Console2, поскольку он может подключаться через Cygwin, но, на мой взгляд, обеспечивает гораздо лучший интерфейс:

http://sourceforge.net/projects/console/