diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java index 0d013fbfec1c..4bf7ec23efff 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleBuilder.java @@ -147,7 +147,7 @@ public final class LanguageConsoleBuilder { } public LanguageConsoleView build(@NotNull Project project, @NotNull Language language) { - GutteredLanguageConsole console = new GutteredLanguageConsole(project, language, gutterContentProvider, psiFileFactory); + GutteredLanguageConsole console = new GutteredLanguageConsole(language.getDisplayName() + " Console", project, language, gutterContentProvider, psiFileFactory); LanguageConsoleViewImpl consoleView = new LanguageConsoleViewImpl(console, true); if (executeActionHandler != null) { assert historyType != null; @@ -184,11 +184,12 @@ public final class LanguageConsoleBuilder { @Nullable private final PairFunction psiFileFactory; - public GutteredLanguageConsole(@NotNull Project project, + public GutteredLanguageConsole(@NotNull String title, + @NotNull Project project, @NotNull Language language, @Nullable GutterContentProvider gutterContentProvider, @Nullable PairFunction psiFileFactory) { - super(project, language.getDisplayName() + " Console", language, false); + super(project, title, new LightVirtualFile(title, language, ""), false, psiFileFactory); setShowSeparatorLine(false); diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index da38faf0f8f5..be107d98ab94 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -58,10 +58,7 @@ import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; import com.intellij.testFramework.LightVirtualFile; import com.intellij.ui.JBColor; import com.intellij.ui.SideBorder; -import com.intellij.util.DocumentUtil; -import com.intellij.util.FileContentUtil; -import com.intellij.util.ObjectUtils; -import com.intellij.util.SingleAlarm; +import com.intellij.util.*; import com.intellij.util.ui.AbstractLayoutManager; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; @@ -124,6 +121,14 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { } public LanguageConsoleImpl(@NotNull Project project, @NotNull String title, @NotNull LightVirtualFile lightFile, boolean initComponents) { + this(project, title, lightFile, initComponents, null); + } + + LanguageConsoleImpl(@NotNull Project project, + @NotNull String title, + @NotNull LightVirtualFile lightFile, + boolean initComponents, + @Nullable PairFunction psiFileFactory) { myProject = project; myTitle = title; myVirtualFile = lightFile; @@ -131,7 +136,7 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { myHistoryFile = new LightVirtualFile(getTitle() + ".history.txt", FileTypes.PLAIN_TEXT, ""); myEditorDocument = FileDocumentManager.getInstance().getDocument(lightFile); assert myEditorDocument != null; - myFile = createFile(myVirtualFile, myEditorDocument, myProject); + myFile = psiFileFactory == null ? createFile(myVirtualFile, myEditorDocument, myProject) : psiFileFactory.fun(myVirtualFile, myProject); myConsoleEditor = (EditorEx)editorFactory.createEditor(myEditorDocument, myProject); myConsoleEditor.addFocusListener(myFocusListener); myCurrentEditor = myConsoleEditor;