Scala 如何确定终端是否支持带SBT的ANSI?
使用旧版本的SBT,我可以做到这一点:Scala 如何确定终端是否支持带SBT的ANSI?,scala,colors,sbt,ansi,Scala,Colors,Sbt,Ansi,使用旧版本的SBT,我可以做到这一点: initialize := { if (sbt.internal.util.ConsoleAppender.formatEnabledInEnv) { println("My fancy ANSI long string with color") } } 但是现在,在新的SBT请求使用Terminal.isAnsiSupported时,这一点已被弃用,但我不知道如何访问该值 可能是这样的,但会触发一个错误: init
initialize := {
if (sbt.internal.util.ConsoleAppender.formatEnabledInEnv) {
println("My fancy ANSI long string with color")
}
}
但是现在,在新的SBT请求使用Terminal.isAnsiSupported时,这一点已被弃用,但我不知道如何访问该值
可能是这样的,但会触发一个错误:
initialize := {
if (terminal.isAnsiSupported) { // <- ERROR
println("My fancy ANSI long string with color")
}
}
initialize:={
如果(terminal.isAnsiSupported){/OK,找到它!!…经过几次尝试后如下所示:
initialize := {
if (sbt.internal.util.Terminal.console.isAnsiSupported && sbt.internal.util.Terminal.console.isColorEnabled) {
println("My fancy ANSI long string with color")
}
}
诀窍是在SBT的内部util终端中使用.console