Sbt/playから記録されたカラーエスケープコードを無効にしたいのですが。これは可能ですか?もしそうなら、設定を変更せずにそれを行う方法はありますか?つまり、コマンドラインスイッチまたはシステムプロパティを介して。
システムプロパティを設定するだけです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の場合はWindowsTerminal、Unixの場合はUnixTerminal)と一致していることを確認する必要があります。
これで問題が解決しない場合は、サポートされていないプラットフォームを使用している可能性があります。その場合は、 website の使用をお勧めします。
-Djline.terminal=jline.UnsupportedTerminal
そうですね、Cygwinをインストールして次のパラメーターを渡すことで、Windowsで色をgetできます。
-Djline.terminal=jline.UnixTerminal
したがって、jlineパラメータを調べて、色分けを無効にするものを確認します。
以下を追加することで、CygwinのSBTからカラー出力を取得できました。
-Djline.terminal=jline.UnixTerminal
さらに、Cygwin.batに次の行を追加する必要があることもわかりました。
set CYGWIN=tty ntsec
その後、SBTは非常に素晴らしい色の出力を提供します。さらに、Cygwinを介してフックできるため、Console2を調べることをお勧めしますが、私の意見でははるかに優れたインターフェイスを提供します。