mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
show file annotations even for language consoles
This commit is contained in:
+5
-2
@@ -33,6 +33,8 @@ import com.intellij.openapi.editor.impl.RedBlackTree;
|
||||
import com.intellij.openapi.editor.markup.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.vfs.NonPhysicalFileSystem;
|
||||
import com.intellij.psi.FileViewProvider;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.Consumer;
|
||||
@@ -49,7 +51,7 @@ import java.util.List;
|
||||
public class UpdateHighlightersUtil {
|
||||
private static final Comparator<HighlightInfo> BY_START_OFFSET_NODUPS = new Comparator<HighlightInfo>() {
|
||||
@Override
|
||||
public int compare(HighlightInfo o1, HighlightInfo o2) {
|
||||
public int compare(@NotNull HighlightInfo o1, @NotNull HighlightInfo o2) {
|
||||
int d = o1.getActualStartOffset() - o2.getActualStartOffset();
|
||||
if (d != 0) return d;
|
||||
d = o1.getActualEndOffset() - o2.getActualEndOffset();
|
||||
@@ -212,7 +214,8 @@ public class UpdateHighlightersUtil {
|
||||
if (!atStart) return true;
|
||||
if (!info.isFromInjection() && info.getEndOffset() < document.getTextLength() && (info.getEndOffset() <= startOffset || info.getStartOffset()>=endOffset)) return true; // injections are oblivious to restricting range
|
||||
|
||||
if (info.isFileLevelAnnotation() && psiFile.getViewProvider().isPhysical()) {
|
||||
FileViewProvider provider = psiFile.getViewProvider();
|
||||
if (info.isFileLevelAnnotation() && (provider.isPhysical() || provider.getVirtualFile().getFileSystem() instanceof NonPhysicalFileSystem)) {
|
||||
codeAnalyzer.addFileLevelHighlight(project, group, info, psiFile);
|
||||
changed[0] = true;
|
||||
return true;
|
||||
|
||||
+6
-2
@@ -54,10 +54,12 @@ import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.vfs.NonPhysicalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.openapi.vfs.newvfs.RefreshQueueImpl;
|
||||
import com.intellij.packageDependencies.DependencyValidationManager;
|
||||
import com.intellij.psi.FileViewProvider;
|
||||
import com.intellij.psi.PsiCompiledElement;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -184,8 +186,10 @@ public class DaemonCodeAnalyzerImpl extends DaemonCodeAnalyzerEx implements JDOM
|
||||
|
||||
@Override
|
||||
public void cleanFileLevelHighlights(@NotNull Project project, final int group, PsiFile psiFile) {
|
||||
if (psiFile == null || !psiFile.getViewProvider().isPhysical()) return;
|
||||
VirtualFile vFile = psiFile.getViewProvider().getVirtualFile();
|
||||
if (psiFile == null) return;
|
||||
FileViewProvider provider = psiFile.getViewProvider();
|
||||
if (!provider.isPhysical() && !(provider.getVirtualFile().getFileSystem() instanceof NonPhysicalFileSystem)) return;
|
||||
VirtualFile vFile = provider.getVirtualFile();
|
||||
final FileEditorManager manager = FileEditorManager.getInstance(project);
|
||||
for (FileEditor fileEditor : manager.getEditors(vFile)) {
|
||||
final List<HighlightInfo> infos = fileEditor.getUserData(FILE_LEVEL_HIGHLIGHTS);
|
||||
|
||||
Reference in New Issue
Block a user