diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala index 132280160..994b9bd8e 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala @@ -373,20 +373,19 @@ class ConsoleAppender private[ConsoleAppender] ( } val width = ConsoleAppender.terminalWidth - val extra: Int = info.foldLeft(0)(_ + terminalLines(width)(_)) + val currentLength = info.foldLeft(info.length)(_ + terminalLines(width)(_)) val previousLines = progressLines.getAndSet(info) - val prevExtra = previousLines.foldLeft(0)(_ + terminalLines(width)(_)) + val prevLength = previousLines.foldLeft(previousLines.length)(_ + terminalLines(width)(_)) val prevPadding = padding.get - val newPadding = - math.max(0, previousLines.length + prevExtra + prevPadding - info.length - extra) + val newPadding = math.max(0, prevLength + prevPadding - currentLength) padding.set(newPadding) deleteConsoleLines(newPadding) deleteConsoleLines(blankZone) info.foreach(i => out.println(i)) - out.print(cursorUp(blankZone + info.length + newPadding + extra)) + out.print(cursorUp(blankZone + currentLength + newPadding)) out.flush() } private def terminalLines(width: Int): String => Int =