mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 06:39:38 +07:00
IDEA-225625 EPs to make dynamic
making xmlStructureViewBuilderProvider dynamic GitOrigin-RevId: c8b43c6afe70c538a25b533b5f5bfdbba91e858c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e6511aa319
commit
90e7985fef
@@ -12,5 +12,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.structureView.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
package com.intellij.lang.xml;
|
||||
|
||||
import com.intellij.ide.impl.StructureViewWrapperImpl;
|
||||
import com.intellij.ide.structureView.StructureViewBuilder;
|
||||
import com.intellij.ide.structureView.StructureViewModel;
|
||||
import com.intellij.ide.structureView.TreeBasedStructureViewBuilder;
|
||||
@@ -13,7 +14,9 @@ import com.intellij.ide.structureView.xml.XmlStructureViewBuilderProvider;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.LanguageStructureViewBuilder;
|
||||
import com.intellij.lang.PsiStructureViewFactory;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.extensions.ExtensionPointUtil;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.xml.XmlFile;
|
||||
@@ -21,6 +24,14 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class XmlStructureViewBuilderFactory implements PsiStructureViewFactory {
|
||||
|
||||
public XmlStructureViewBuilderFactory()
|
||||
{
|
||||
XmlStructureViewBuilderProvider.EP_NAME.addExtensionPointListener(
|
||||
() -> ApplicationManager.getApplication().getMessageBus().syncPublisher(StructureViewWrapperImpl.STRUCTURE_CHANGED).run(),
|
||||
ExtensionPointUtil.createKeyedExtensionDisposable(this, PsiStructureViewFactory.EP_NAME.getPoint(null)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public StructureViewBuilder getStructureViewBuilder(@NotNull final PsiFile psiFile) {
|
||||
|
||||
Reference in New Issue
Block a user