From 7894938c7d116487efa4b64dd6fa6cab46dd0548 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Wed, 21 Oct 2020 14:03:36 -0700 Subject: [PATCH] Revert "Don't ever use jline 3 dumb terminal" This reverts commit 6f63b2ccfadf3e3429000ae51bac58579cae852c. It turns out the DumbTerminal does work in some cases such as when the TERM environment variable is set to DUMB. --- .../src/main/scala/sbt/internal/util/JLine3.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 27e4a8ddb..a80d81410 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 @@ -16,7 +16,7 @@ import org.jline.utils.{ ClosedException, NonBlockingReader } import org.jline.terminal.{ Attributes, Size, Terminal => JTerminal } import org.jline.terminal.Attributes.{ InputFlag, LocalFlag } import org.jline.terminal.Terminal.SignalHandler -import org.jline.terminal.impl.AbstractTerminal +import org.jline.terminal.impl.{ AbstractTerminal, DumbTerminal } import org.jline.terminal.impl.jansi.JansiSupportImpl import org.jline.terminal.impl.jansi.win.JansiWinSysTerminal import org.jline.utils.OSUtils @@ -73,6 +73,11 @@ private[sbt] object JLine3 { term } private[sbt] def apply(term: Terminal): JTerminal = { + if (System.getProperty("jline.terminal", "") == "none") + new DumbTerminal(term.inputStream, term.outputStream) + else wrapTerminal(term) + } + private[this] def wrapTerminal(term: Terminal): JTerminal = { new AbstractTerminal( term.name, "nocapabilities",