override def renderStep()

in multiversion/src/main/scala/multiversion/loggers/DownloadProgressRenderer.scala [39:75]


  override def renderStep(): ProgressStep = {
    val activeLoggers = loggers
      .getActiveLoggers()
      .sortByCachedFunction(-_.maxDownloadSize())
    if (activeLoggers.isEmpty) ProgressStep.empty
    else {
      val downloadSize = loggers.totalDownloadSize +
        activeLoggers.iterator.map(_.downloadSize()).sum
      val maxSize = loggers.totalMaxDownloadSize +
        activeLoggers.iterator.map(_.downloadSize()).sum
      val remaining = maxArtifacts - loggers.totalRootDependencies
      val header = Doc.text(
        List[String](
          "Downloading:",
          timer.formatPadded(),
          s"$remaining/$maxArtifacts remaining",
          s"(${Words.downloadedBytes.formatPadded(downloadSize)})"
        ).mkString(" ")
      )
      val rows = Doc.tabulate(
        ' ',
        " ",
        activeLoggers.take(12).map { logger =>
          val max = Words.bytes.format(logger.maxDownloadSize())
          val percentage = Words
            .percentage(logger.maxDownloadSize())
            .format(logger.downloadSize())
          val doc =
            if (logger.downloadSize() > 0) Doc.text(s"($percentage of $max)")
            else Doc.empty
          logger.name -> doc
        }
      )
      val table = header + Doc.line + rows + Doc.line
      ProgressStep().withDynamic(table)
    }
  }