package com.chrisfolger.needsmoredojo.intellij.reference;
import com.chrisfolger.needsmoredojo.core.amd.filesystem.AttachPointResolver;
import com.chrisfolger.needsmoredojo.core.amd.objectmodel.TemplatedWidgetUtil;
import com.chrisfolger.needsmoredojo.core.settings.DojoSettings;
import com.chrisfolger.needsmoredojo.intellij.inspections.DojoInspection;
import com.intellij.codeInsight.navigation.actions.GotoDeclarationHandler;
import com.intellij.lang.Language;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.Nullable;
public class AttachPointGotoDeclarationHandler extends DojoDeclarationHandler implements GotoDeclarationHandler
{
@Nullable
@Override
public PsiElement[] getGotoDeclarationTargets(PsiElement psiElement, int i, Editor editor)
{
if(psiElement == null || !psiElement.getLanguage().equals(Language.findLanguageByID("JavaScript")))
{
return new PsiElement[0];
}
if(!isEnabled(psiElement.getProject()))
{
return new PsiElement[0];
}
return AttachPointResolver.getGotoDeclarationTargets(psiElement, i, editor);
}
@Nullable
@Override
public String getActionText(DataContext dataContext)
{
return "Jump to attach point";
}
}