mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
definitions search for Python
This commit is contained in:
@@ -56,6 +56,7 @@
|
||||
|
||||
<referenceImporter implementation="com.jetbrains.python.validation.PythonReferenceImporter"/>
|
||||
<codeInsight.lineMarkerProvider language="Python" implementationClass="com.jetbrains.python.PyLineMarkerProvider"/>
|
||||
<definitionsSearch implementation="com.jetbrains.python.psi.search.PyDefinitionsSearch"/>
|
||||
</extensions>
|
||||
|
||||
<extensionPoints>
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.jetbrains.python.psi.search;
|
||||
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.QueryExecutor;
|
||||
import com.intellij.util.Query;
|
||||
import com.jetbrains.python.psi.PyClass;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class PyDefinitionsSearch implements QueryExecutor<PsiElement, PsiElement> {
|
||||
public boolean execute(final PsiElement queryParameters, final Processor<PsiElement> consumer) {
|
||||
if (queryParameters instanceof PyClass) {
|
||||
final Query<PyClass> query = PyClassInheritorsSearch.search((PyClass)queryParameters);
|
||||
return query.forEach(new Processor<PyClass>() {
|
||||
public boolean process(final PyClass pyClass) {
|
||||
return consumer.process(pyClass);
|
||||
}
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user