From 089881e63b6c0250895406b524c91deb668f2bb2 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 5 Sep 2012 15:22:09 +0400 Subject: [PATCH] Creating LightVirtualFile for editor to enable syntax errors highlighting. --- .../codeInsight/ktSignature/EditSignatureBalloon.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureBalloon.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureBalloon.java index 5d1860b2dd7..86e7b0de6c3 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureBalloon.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureBalloon.java @@ -27,16 +27,17 @@ import com.intellij.openapi.editor.EditorSettings; import com.intellij.openapi.editor.colors.EditorColors; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.ex.EditorGutterComponentEx; +import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.Balloon; import com.intellij.openapi.ui.popup.JBPopupAdapter; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.LightweightWindowEvent; -import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.psi.*; +import com.intellij.testFramework.LightVirtualFile; import com.intellij.ui.awt.RelativePoint; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -145,10 +146,12 @@ class EditSignatureBalloon { private Editor createEditor() { EditorFactory editorFactory = EditorFactory.getInstance(); assert editorFactory != null; - Document document = editorFactory.createDocument(this.previousSignature); - document.setReadOnly(!editable); + LightVirtualFile virtualFile = new LightVirtualFile("signature.kt", JetFileType.INSTANCE, previousSignature); + virtualFile.setWritable(editable); + Document document = FileDocumentManager.getInstance().getDocument(virtualFile); + assert document != null; - Editor editor = editorFactory.createEditor(document, project, JetFileType.INSTANCE, false); + Editor editor = editorFactory.createEditor(document, project, JetFileType.INSTANCE, !editable); EditorSettings settings = editor.getSettings(); settings.setVirtualSpace(false); settings.setLineMarkerAreaShown(false);