Как можно отключить цветной вывод терминала для sbt / play?
Я хотел бы отключить цветовые escape-коды, зарегистрированные из sbt / play. Это возможно? И если это так, есть ли способ сделать это без изменения конфигурации, т. е. через параметр командной строки или системное свойство.
5 ответов:
вы можете просто установить системное свойство
sbt.log.noformat
totrue
. Если вы хотите, например, использовать 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, но, на мой взгляд, обеспечивает гораздо лучший интерфейс: