select

fun <T, O : SelectOption<T>> Terminal.select(title: String, options: () -> List<O>, keyOptions: Map<String, KeyOption>? = null, defaultCursor: Int? = null, onHover: suspend (option: O, index: Int) -> Unit? = null, onAnimate: (widget: Widget) -> Unit? = null, onDone: (animation: Animation<*>, throwable: Throwable?) -> Unit? = null, onDisabled: (key: KeyPattern) -> Unit? = null, details: (data: T, index: Int) -> Widget?? = null, pageSize: Int = 10, maxPages: Int = 20): T