mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
WEB-65855 Folder breadcrumbs no longer show when the cursor is within html in a JS/TS file
GitOrigin-RevId: ac81a1cd61921fb1c809345d15319d3843a0ef5a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3ef88d1ea7
commit
5f519ec45c
@@ -612,3 +612,5 @@ language.services.widget.item.initializing={0} | Initializing\u2026
|
||||
language.services.widget.item.shutdown.normally={0} | Stopped
|
||||
language.services.widget.item.shutdown.unexpectedly={0} | Terminated
|
||||
language.services.widget.open.settings.action=Open Settings
|
||||
|
||||
navBar.element.injected.file=<Injected {0} file>
|
||||
@@ -7,6 +7,8 @@ import com.intellij.ide.navbar.NavBarItemPresentation
|
||||
import com.intellij.ide.navigationToolbar.NavBarModelExtension
|
||||
import com.intellij.ide.projectView.ProjectView
|
||||
import com.intellij.ide.projectView.impl.ProjectRootsUtil
|
||||
import com.intellij.injected.editor.VirtualFileWindow
|
||||
import com.intellij.lang.LangBundle
|
||||
import com.intellij.model.Pointer
|
||||
import com.intellij.model.Pointer.hardPointer
|
||||
import com.intellij.openapi.editor.colors.CodeInsightColors.ERRORS_ATTRIBUTES
|
||||
@@ -34,6 +36,7 @@ import com.intellij.refactoring.suggested.createSmartPointer
|
||||
import com.intellij.ui.SimpleTextAttributes
|
||||
import com.intellij.ui.SimpleTextAttributes.*
|
||||
import com.intellij.util.IconUtil
|
||||
import com.intellij.util.asSafely
|
||||
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
|
||||
import com.intellij.util.concurrency.annotations.RequiresReadLock
|
||||
import com.intellij.util.ui.JBUI
|
||||
@@ -132,6 +135,24 @@ internal class ModuleNavBarItem(data: Module) : DefaultNavBarItem<Module>(data),
|
||||
internal class PsiNavBarItem(data: PsiElement, val ownerExtension: NavBarModelExtension?) : DefaultNavBarItem<PsiElement>(
|
||||
data) {
|
||||
|
||||
override fun presentation(): NavBarItemPresentation {
|
||||
if (data is PsiFile) {
|
||||
data.virtualFile
|
||||
?.asSafely<VirtualFileWindow>()
|
||||
?.let {
|
||||
return NavBarItemPresentation(
|
||||
getIcon(),
|
||||
LangBundle.message("navBar.element.injected.file", data.language.displayName),
|
||||
null,
|
||||
REGULAR_ITALIC_ATTRIBUTES,
|
||||
REGULAR_ITALIC_ATTRIBUTES,
|
||||
true
|
||||
)
|
||||
}
|
||||
}
|
||||
return super.presentation()
|
||||
}
|
||||
|
||||
override fun createPointer(): Pointer<out NavBarItem> {
|
||||
val data = data
|
||||
val ownerExtension = ownerExtension
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.intellij.ide.navigationToolbar;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.ide.scratch.RootType;
|
||||
import com.intellij.injected.editor.VirtualFileWindow;
|
||||
import com.intellij.lang.injection.InjectedLanguageManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
@@ -146,6 +148,9 @@ public class DefaultNavBarExtension extends AbstractNavBarModelExtension {
|
||||
if (containingDirectory != null) {
|
||||
return containingDirectory;
|
||||
}
|
||||
if (containingFile.getVirtualFile() instanceof VirtualFileWindow) {
|
||||
return InjectedLanguageManager.getInstance(psiElement.getProject()).getTopLevelFile(containingFile);
|
||||
}
|
||||
}
|
||||
else if (psiElement instanceof PsiDirectory psiDirectory) {
|
||||
Project project = psiElement.getProject();
|
||||
|
||||
Reference in New Issue
Block a user