mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
findReferencesToHighlight() correctly handles dir/__init__.py duality (PY-1514)
This commit is contained in:
@@ -6,11 +6,20 @@ import com.intellij.find.findUsages.FindUsagesHandler;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFileSystemItem;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.search.SearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.ui.SimpleColoredComponent;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.jetbrains.python.PyNames;
|
||||
import com.jetbrains.python.psi.PyFile;
|
||||
import com.jetbrains.python.psi.PyUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
@@ -46,4 +55,15 @@ public class PyModuleFindUsagesHandler extends FindUsagesHandler {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PsiReference> findReferencesToHighlight(PsiElement target, SearchScope searchScope) {
|
||||
if (target instanceof PyFile && PyNames.INIT_DOT_PY.equals(((PyFile)target).getName())) {
|
||||
List<PsiReference> result = new ArrayList<PsiReference>();
|
||||
result.addAll(super.findReferencesToHighlight(target, searchScope));
|
||||
result.addAll(ReferencesSearch.search(PyUtil.turnInitIntoDir(target), searchScope, false).findAll());
|
||||
return result;
|
||||
}
|
||||
return super.findReferencesToHighlight(target, searchScope);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user