process
context(terminal: Terminal)
suspend fun <T> CoroutineScope.process(title: String, content: () -> Widget? = { null }, color: TextStyle = brightBlue, footer: String? = null, enterToContinue: Boolean = true, keyOptions: (done: Boolean) -> Map<String, KeyOption> = { emptyMap() }, onAnimate: (widget: Widget) -> Unit? = null, onDone: (animation: Animation<*>, throwable: Throwable?) -> Unit? = null, block: context(CoroutineScope) suspend ProcessContext.() -> T): T
suspend fun <T> CoroutineScope.process(title: String, content: () -> Widget? = { null }, color: TextStyle = brightBlue, footer: String? = null, enterToContinue: Boolean = true, keyOptions: (done: Boolean) -> Map<String, KeyOption> = { emptyMap() }, onAnimate: (widget: Widget) -> Unit? = null, onDone: (animation: Animation<*>, throwable: Throwable?) -> Unit? = null, block: context(CoroutineScope) suspend ProcessContext.() -> T): T
fun <T> Terminal.process(title: String, content: () -> Widget? = { null }, color: TextStyle = brightBlue, footer: String? = null, enterToContinue: Boolean = true, keyOptions: (done: Boolean) -> Map<String, KeyOption> = { emptyMap() }, onAnimate: (widget: Widget) -> Unit? = null, onDone: (animation: Animation<*>, throwable: Throwable?) -> Unit? = null, block: context(CoroutineScope) suspend ProcessContext.() -> T): T