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


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

5 53

5 ответов:

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

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

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

sbt -no-colors test

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

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

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

-Djline.terminal=jline.UnsupportedTerminal

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

-Djline.terminal=jline.UnixTerminal

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

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

-Djline.terminal=jline.UnixTerminal

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

set CYGWIN=tty ntsec

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

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