mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix doubled run current file linemarker
LineMarkerPass now queries providers twice: for visible (inner) and invisible (outer) elements so we need to find actual psi file in elements array.
This commit is contained in:
+6
-1
@@ -12,6 +12,7 @@ import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.markup.GutterIconRenderer;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.PlatformUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -20,6 +21,7 @@ import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author traff
|
||||
@@ -36,7 +38,10 @@ public class PyExecuteFileLineMarkerProvider implements LineMarkerProvider {
|
||||
if (elements.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
PsiElement file = elements.get(0).getContainingFile();
|
||||
Optional<PsiElement> psiElement = elements.stream().filter((element) -> element instanceof PsiFile).findFirst();
|
||||
if (!psiElement.isPresent()) return;
|
||||
final PsiElement file = psiElement.get();
|
||||
|
||||
final RunContextAction runAction = new PyStudyRunContextAction(DefaultRunExecutor.getRunExecutorInstance());
|
||||
final PyExecuteFileExtensionPoint[] extensions =
|
||||
ApplicationManager.getApplication().getExtensions(PyExecuteFileExtensionPoint.EP_NAME);
|
||||
|
||||
Reference in New Issue
Block a user