From a38a1aa4d0dd0eddc2e69e08461c9785fee565ef Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Wed, 12 Nov 2025 22:38:45 -0500 Subject: [PATCH] [2.x] perf: cache isSupershellEnabled **Problem** isSupershellEnabled apparently shows up in profiling constructing the Map structure for sys props. **Solution** Cache isSupershellEnabled. --- .../src/main/scala/sbt/internal/util/Terminal.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 76016d953..72ec2bb01 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -953,12 +953,12 @@ object Terminal { try JLine3.exitRawMode(system) catch { case _: java.io.IOError => } } - override def isColorEnabled: Boolean = + override lazy val isColorEnabled: Boolean = props .map(_.color) .getOrElse(isColorEnabledProp.getOrElse(Terminal.isColorEnabled)) - override def isSupershellEnabled: Boolean = + override lazy val isSupershellEnabled: Boolean = props .map(_.supershell) .getOrElse(System.getProperty("sbt.supershell") match {