diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala index ccb3fad79..0b15d4dae 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala @@ -293,4 +293,7 @@ private[sbt] object JLine3 { } attributes } + private[sbt] def isEchoEnabled(map: Map[String, String]): Boolean = { + attributesFromMap(map).getLocalFlag(LocalFlag.ECHO) + } } diff --git a/main/src/main/scala/sbt/internal/server/NetworkChannel.scala b/main/src/main/scala/sbt/internal/server/NetworkChannel.scala index 6a0dfd6d0..77891846a 100644 --- a/main/src/main/scala/sbt/internal/server/NetworkChannel.scala +++ b/main/src/main/scala/sbt/internal/server/NetworkChannel.scala @@ -805,7 +805,7 @@ final class NetworkChannel( override def getWidth: Int = getProperty(_.width, 0).getOrElse(0) override def getHeight: Int = getProperty(_.height, 0).getOrElse(0) override def isAnsiSupported: Boolean = getProperty(_.isAnsiSupported, false).getOrElse(false) - override def isEchoEnabled: Boolean = waitForPending(_.isEchoEnabled) + override def isEchoEnabled: Boolean = sbt.internal.util.JLine3.isEchoEnabled(getAttributes) override def isSuccessEnabled: Boolean = interactive.get || StandardMain.exchange.withState(ContinuousCommands.isInWatch(_, NetworkChannel.this))