@@ -20,6 +20,7 @@ import com.intellij.openapi.application.runWriteAction
2020import com.intellij.openapi.editor.EditorFactory
2121import com.intellij.openapi.fileChooser.FileChooser
2222import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
23+ import com.intellij.openapi.fileEditor.FileDocumentManager
2324import com.intellij.openapi.fileEditor.FileEditorManager
2425import com.intellij.openapi.project.Project
2526import com.intellij.openapi.ui.SimpleToolWindowPanel
@@ -42,6 +43,7 @@ class OpcodesTerminalPanel(
4243
4344 val fileEditorManager = FileEditorManager .getInstance(project)
4445 val documentManager = PsiDocumentManager .getInstance(project)
46+ val fileDocumentManager = FileDocumentManager .getInstance()
4547 val editorFactory = EditorFactory .getInstance()
4648
4749 private val service = project.getService(OpcodesDumperService ::class .java)
@@ -169,9 +171,19 @@ class OpcodesTerminalPanel(
169171 val editor = fileEditorManager.selectedTextEditor ? : return
170172 val virtualFile = editor.virtualFile ? : return
171173
174+ fileDocumentManager.saveDocument(editor.document)
175+
172176 CoroutineScope (Dispatchers .IO ).launch {
173- val result = service.dump(virtualFile) as ProcessOutput
177+ var result = service.dump(virtualFile) as ProcessOutput
178+ if (result.stdout.startsWith(" Error: Could not compile file" )) {
179+ result = service.dump(virtualFile) as ProcessOutput
180+ }
174181
182+ // if (result.stdout.startsWith("No syntax errors detected")) {
183+ //
184+ // }
185+ // println("reso: ${result.stdout}")
186+ // println("rese: ${result.stderr}")
175187 val content = result.stderr.ifEmpty { result.stdout }
176188 .asSafely<String >()
177189 ?.replace(" \r\n " , " \n " )
@@ -186,6 +198,7 @@ class OpcodesTerminalPanel(
186198 private fun setDocumentText (project : Project , content : String ) {
187199 runWriteAction {
188200 editor.document.setText(content)
201+ documentManager.commitDocument(editor.document)
189202 }
190203 }
191204
0 commit comments