mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
mark FileLookupInfoProvider as dynamic
GitOrigin-RevId: 49958dc2128225ed49ae606218b531087658ffce
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bc643fd373
commit
7b67929a96
+21
-5
@@ -19,17 +19,19 @@ package com.intellij.psi.impl.source.resolve.reference.impl.providers;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.extensions.ExtensionPointListener;
|
||||
import com.intellij.openapi.extensions.PluginDescriptor;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.file.FileLookupInfoProvider;
|
||||
import java.util.HashMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -39,13 +41,27 @@ public class FileInfoManager implements Disposable {
|
||||
private final Map<FileType, FileLookupInfoProvider> myFileType2InfoProvider = new HashMap<>();
|
||||
|
||||
public FileInfoManager() {
|
||||
final FileLookupInfoProvider[] providers = FileLookupInfoProvider.EP_NAME.getExtensions();
|
||||
for (final FileLookupInfoProvider provider : providers) {
|
||||
final FileType[] types = provider.getFileTypes();
|
||||
for (FileType type : types) {
|
||||
for (FileLookupInfoProvider provider : FileLookupInfoProvider.EP_NAME.getExtensions()) {
|
||||
for (FileType type : provider.getFileTypes()) {
|
||||
myFileType2InfoProvider.put(type, provider);
|
||||
}
|
||||
}
|
||||
|
||||
FileLookupInfoProvider.EP_NAME.addExtensionPointListener(new ExtensionPointListener<FileLookupInfoProvider>() {
|
||||
@Override
|
||||
public void extensionAdded(@NotNull FileLookupInfoProvider extension, @NotNull PluginDescriptor pluginDescriptor) {
|
||||
for (FileType type : extension.getFileTypes()) {
|
||||
myFileType2InfoProvider.put(type, extension);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void extensionRemoved(@NotNull FileLookupInfoProvider extension, @NotNull PluginDescriptor pluginDescriptor) {
|
||||
for (FileType type : extension.getFileTypes()) {
|
||||
myFileType2InfoProvider.remove(type);
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
||||
public static FileInfoManager getFileInfoManager() {
|
||||
|
||||
@@ -522,7 +522,7 @@
|
||||
<with attribute="implementationClass" implements="com.intellij.codeInsight.TargetElementEvaluator"/>
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint name="fileLookupInfoProvider" interface="com.intellij.psi.file.FileLookupInfoProvider"/>
|
||||
<extensionPoint name="fileLookupInfoProvider" interface="com.intellij.psi.file.FileLookupInfoProvider" dynamic="true"/>
|
||||
|
||||
<extensionPoint name="idIndexer" beanClass="com.intellij.openapi.fileTypes.FileTypeExtensionPoint">
|
||||
<with attribute="implementationClass" implements="com.intellij.psi.impl.cache.impl.id.IdIndexer"/>
|
||||
|
||||
Reference in New Issue
Block a user