JetBrains / jewel

An implementation of the IntelliJ look and feels in Compose for Desktop
Apache License 2.0
692 stars 35 forks source link

Markdown diff breaks when input is null #344

Closed rock3r closed 5 months ago

rock3r commented 6 months ago

To repro, open standalone sample, and clear the text editor input.

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: -14, Size: 1
    at java.base/java.util.Collections$SingletonList.get(Collections.java:4959)
    at org.jetbrains.jewel.markdown.processing.MarkdownProcessor.processWithQuickEdits$core(MarkdownProcessor.kt:128)
    at org.jetbrains.jewel.markdown.processing.MarkdownProcessor.processMarkdownDocument(MarkdownProcessor.kt:92)
    at org.jetbrains.jewel.samples.standalone.view.markdown.MarkdownPreviewKt$MarkdownPreview$1$1.invokeSuspend(MarkdownPreview.kt:64)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.scene.ComposeContainer$DesktopCoroutineExceptionHandler@7e9fea4d, androidx.compose.runtime.BroadcastFrameClock@2903ca97, StandaloneCoroutine{Cancelling}@774618c1, FlushCoroutineDispatcher@32ddd7e]