From 16786ec65267aad720171acea1a9980b2629d526 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 11 Jun 2015 16:44:43 +0300 Subject: [PATCH] IDEA-141272 RunLineMarker blinks annoyingly on typing --- .../ApplicationRunLineMarkerProvider.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationRunLineMarkerProvider.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationRunLineMarkerProvider.java index b161cbec1885..fe21ddd71d80 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationRunLineMarkerProvider.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationRunLineMarkerProvider.java @@ -20,6 +20,7 @@ import com.intellij.codeInsight.daemon.LineMarkerProvider; import com.intellij.execution.lineMarker.RunLineMarkerInfo; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiIdentifier; import com.intellij.psi.PsiMethod; import com.intellij.psi.util.PsiMethodUtil; import org.jetbrains.annotations.NotNull; @@ -35,11 +36,14 @@ public class ApplicationRunLineMarkerProvider implements LineMarkerProvider { @Nullable @Override - public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) { - if (element instanceof PsiClass && PsiMethodUtil.findMainInClass((PsiClass)element) != null) - return new RunLineMarkerInfo(element, ApplicationConfigurationType.getInstance().getIcon(), null); - if (element instanceof PsiMethod && "main".equals(((PsiMethod)element).getName()) && PsiMethodUtil.isMainMethod((PsiMethod)element)) - return new RunLineMarkerInfo(element, ApplicationConfigurationType.getInstance().getIcon(), null); + public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement e) { + if (e instanceof PsiIdentifier) { + PsiElement element = e.getParent(); + if (element instanceof PsiClass && PsiMethodUtil.findMainInClass((PsiClass)element) != null) + return new RunLineMarkerInfo(element, ApplicationConfigurationType.getInstance().getIcon(), null); + if (element instanceof PsiMethod && "main".equals(((PsiMethod)element).getName()) && PsiMethodUtil.isMainMethod((PsiMethod)element)) + return new RunLineMarkerInfo(element, ApplicationConfigurationType.getInstance().getIcon(), null); + } return null; }