amanda.hinchman-dominguez
03/12/2019, 6:27 PMoverride val root = tabpane {
... // tabstuff
codeArea.multiPlainChanges()
.successionEnds(Duration.ofMillis(500))
.supplyTask(controller::computeHighlightingAsync)
.awaitLatest(codeArea.multiPlainChanges())
.filterMap { t ->
return if (t.isSuccess) {
codeArea.multiPlainChanges()
.successionEnds(Duration.ofMillis(500))
.supplyTask(controller::computeHighlightingAsync)
.awaitLatest(codeArea.multiPlainChanges())
.filterMap { Optional.of(t.get()) }
} else {
t.failure.printStackTrace()
codeArea.multiPlainChanges()
.successionEnds(Duration.ofMillis(500))
.supplyTask(controller::computeHighlightingAsync)
.awaitLatest(codeArea.multiPlainChanges())
.filterMap { Optional.empty<NotebookSpace>() }
}
}.subscribe(controller::applyHighlighting)
}