From 5cfab4c9a98c2511b0bae07c153af319c4f4e69d Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Tue, 24 Sep 2019 16:33:40 -0700 Subject: [PATCH] Cleanup implementation of progress report It was a bit cleaner to consolidate `extra` and (previousLines|info).length into prevLength and currentLength. --- .../main/scala/sbt/internal/util/ConsoleAppender.scala | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 =