mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
generalize canOpenInBrowser impl
This commit is contained in:
@@ -37,9 +37,10 @@ import java.util.List;
|
||||
public class WebBrowserServiceImpl extends WebBrowserService {
|
||||
@Override
|
||||
public boolean canOpenInBrowser(@NotNull PsiElement psiElement) {
|
||||
final PsiFile psiFile = psiElement instanceof PsiFile ? (PsiFile)psiElement : psiElement.getContainingFile();
|
||||
return psiFile != null && psiFile.getVirtualFile() != null &&
|
||||
(HtmlUtil.isHtmlFile(psiFile) || getProvider(psiElement) != null);
|
||||
PsiFile psiFile = psiElement instanceof PsiFile ? (PsiFile)psiElement : psiElement.getContainingFile();
|
||||
VirtualFile virtualFile = psiFile == null ? null : psiFile.getVirtualFile();
|
||||
return virtualFile != null &&
|
||||
((HtmlUtil.isHtmlFile(psiFile) && !(virtualFile instanceof LightVirtualFile)) || getProvider(psiElement, psiFile) != null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -94,10 +95,10 @@ public class WebBrowserServiceImpl extends WebBrowserService {
|
||||
@Nullable
|
||||
public static Pair<WebBrowserUrlProvider, Url> getProvider(@Nullable PsiElement element) {
|
||||
PsiFile psiFile = element == null ? null : element.getContainingFile();
|
||||
if (psiFile == null) {
|
||||
return null;
|
||||
}
|
||||
return psiFile == null ? null : getProvider(element, psiFile);
|
||||
}
|
||||
|
||||
private static Pair<WebBrowserUrlProvider, Url> getProvider(PsiElement element, PsiFile psiFile) {
|
||||
Ref<Url> result = Ref.create();
|
||||
List<WebBrowserUrlProvider> allProviders = Arrays.asList(WebBrowserUrlProvider.EP_NAME.getExtensions());
|
||||
for (WebBrowserUrlProvider urlProvider : DumbService.getInstance(element.getProject()).filterByDumbAwareness(allProviders)) {
|
||||
|
||||
Reference in New Issue
Block a user