PromptWaitReporter

mill.internal.PromptWaitReporter

Wires lock-wait status into the multi-line prompt. Two flavours:

  • When the supplied logger already has an active prompt-line (e.g. a per-task PrefixLogger set up via Logger.withPromptLine), wait status is rendered as the detail suffix of that existing line so the user sees "task-name | blocked on ..." attached to the row that's already in their multi-line prompt.
  • When there's no preexisting prompt-line for this logger's key (e.g. the launcher session logger during meta-build / exclusive-lock acquisition, where no batch-row has been opened yet), each reportWait opens a fresh synthetic prompt-line for the duration of the wait and removes it on close. Without this, setPromptDetail would write a detail for a key that the prompt isn't displaying, and nothing would appear.

If the prompt isn't live (enableTicker == false, BSP, --ticker false, no-daemon early bootstrap), degrades to a one-shot stderr line so non-interactive runs still see the wait.

Attributes

Source
PromptWaitReporter.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def fromLogger(logger: Logger, fallback: PrintStream): WaitReporter

Attributes

Source
PromptWaitReporter.scala