diff --git a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt index 59c5d7e2759..ffc94ab0d8d 100644 --- a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt +++ b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt @@ -7,17 +7,20 @@ package org.jetbrains.kotlin.nj2k.postProcessing import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.ModalityState +import com.intellij.openapi.command.CommandProcessor import com.intellij.openapi.editor.RangeMarker import com.intellij.psi.PsiElement import com.intellij.psi.search.LocalSearchScope import com.intellij.psi.search.searches.ReferencesSearch import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters2 import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.idea.caches.resolve.analyze import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference import org.jetbrains.kotlin.idea.core.util.EDT +import org.jetbrains.kotlin.idea.formatter.commitAndUnblockDocument import org.jetbrains.kotlin.idea.inspections.* import org.jetbrains.kotlin.idea.inspections.branchedTransformations.IfThenToSafeAccessInspection import org.jetbrains.kotlin.idea.inspections.conventionNameCalls.ReplaceGetOrSetInspection @@ -59,6 +62,17 @@ class NewJ2kPostProcessor : PostProcessor { runBlocking(EDT.ModalityStateElement(ModalityState.defaultModalityState())) { for (processing in processings) { processing.runProcessing(file, rangeMarker, converterContext as NewJ2kConverterContext) + commitFile(file) + } + } + } + + private suspend fun commitFile(file: KtFile) { + withContext(EDT) { + CommandProcessor.getInstance().runUndoTransparentAction { + runWriteAction { + file.commitAndUnblockDocument() + } } } }