mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
LanguageConsoleImpl calls createFile during initialization, so, inherited class cannot override it properly
This commit is contained in:
@@ -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<VirtualFile, Project, PsiFile> psiFileFactory;
|
||||
|
||||
public GutteredLanguageConsole(@NotNull Project project,
|
||||
public GutteredLanguageConsole(@NotNull String title,
|
||||
@NotNull Project project,
|
||||
@NotNull Language language,
|
||||
@Nullable GutterContentProvider gutterContentProvider,
|
||||
@Nullable PairFunction<VirtualFile, Project, PsiFile> psiFileFactory) {
|
||||
super(project, language.getDisplayName() + " Console", language, false);
|
||||
super(project, title, new LightVirtualFile(title, language, ""), false, psiFileFactory);
|
||||
|
||||
setShowSeparatorLine(false);
|
||||
|
||||
|
||||
@@ -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<VirtualFile, Project, PsiFile> 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;
|
||||
|
||||
Reference in New Issue
Block a user