Scala 如何确定终端是否支持带SBT的ANSI?

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

使用旧版本的SBT,我可以做到这一点:

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