SBT/PLAYに対して、色付き端子出力をどのように無効にできますか?
-
27-09-2019 - |
質問
SBT/Playからログインしたカラーエスケープコードを無効にしたいと思います。これは可能ですか?そして、もしそうなら、Config -Command Line Switchまたはシステムプロパティを介して構成を変更せずにそれを行う方法がありますか。
解決
システムプロパティを設定するだけです sbt.log.noformat
に true
. 。 vim内でSBTを使用する場合は、次のようなスクリプトを作成できます。
#!/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.terminalプロパティと一致しないように聞こえます。ここで推測しているだけですが、ダニエルがWindowsコマンドラインで提案したようにパラメーターを渡すと、カラーエスケープコードも表示されます。
したがって、プロパティがプラットフォーム、つまりWindowsのWindows末端、UNIXのUnixterminalに一致することを確認する必要があります。
これが役に立たない場合、あなたはサポートされていないプラットフォームにいるかもしれませんその場合 Webサイト 使用することをお勧めします:
-Djline.terminal=jline.UnsupportedTerminal
まあ、あなたはできます 得る Cygwinをインストールし、このパラメーターを渡すことでWindowsの色を作成します。
-Djline.terminal=jline.UnixTerminal
それで、私はjlineパラメーターを調べて、色分けを無効にするものを確認します。
次を追加することにより、CygwinのSBTから色付きの出力を取得することができました。
-Djline.terminal=jline.UnixTerminal
さらに、次の行をCygwin.batに追加する必要があることもわかりました。
set CYGWIN=tty ntsec
その後、SBTが追加された後、非常に素敵な色の出力が得られます。さらに、Console2はCygwinをフックできるため、Console2を調べることをお勧めしますが、私の意見でははるかに優れたインターフェイスを提供します。