sbt/playから記録されたカラーエスケープコードを無効にしたいのですが。これは可能ですか?もしそうなら、設定を変更せずにそれを行う方法があります-つまり、コマンドラインスイッチまたはシステムプロパティを介して。
5 に答える
バージョン(および場合によってはそれ以前)以降、sbt0.13.8
のオプションを使用できるようになりました。-no-colors
例えば
sbt -no-colors test
sbt.log.noformat
システムプロパティをに設定するだけですtrue
。たとえば、Vim内でSBTを使用したい場合は、次のようなスクリプトを作成できます。
#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "$@"
これは、プラットフォームが実際のjline.terminalプロパティと一致していないようです。ここで推測しているだけですが、ダニエルがWindowsコマンドラインで提案したようにパラメーターを渡すと、カラーエスケープコードも表示されます。
したがって、プロパティがプラットフォーム、つまりWindowsの場合はWindowsTerminal、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が追加され、非常に優れた色の出力が得られます。さらに、Cygwinを介してフックできるため、Console2を調べることをお勧めしますが、私の意見でははるかに優れたインターフェイスを提供します。