diff --git a/python/src/com/jetbrains/python/PyGotoClassContributor.java b/python/src/com/jetbrains/python/PyGotoClassContributor.java index 11b759ee0c81..2662f6686fb7 100644 --- a/python/src/com/jetbrains/python/PyGotoClassContributor.java +++ b/python/src/com/jetbrains/python/PyGotoClassContributor.java @@ -19,11 +19,14 @@ import com.intellij.navigation.ChooseByNameContributor; import com.intellij.navigation.NavigationItem; import com.intellij.openapi.project.Project; import com.intellij.util.ArrayUtil; -import com.jetbrains.python.psi.PyClass; +import com.intellij.util.containers.HashSet; import com.jetbrains.python.psi.stubs.PyClassNameIndex; +import com.jetbrains.python.psi.stubs.PyModuleNameIndex; import org.jetbrains.annotations.NotNull; -import java.util.Collection; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** * @author yole @@ -31,13 +34,18 @@ import java.util.Collection; public class PyGotoClassContributor implements ChooseByNameContributor { @NotNull public String[] getNames(final Project project, final boolean includeNonProjectItems) { - final Collection classNames = PyClassNameIndex.allKeys(project); - return ArrayUtil.toStringArray(classNames); + Set results = new HashSet(); + results.addAll(PyClassNameIndex.allKeys(project)); + results.addAll(PyModuleNameIndex.getAllKeys(project)); + return ArrayUtil.toStringArray(results); } @NotNull - public NavigationItem[] getItemsByName(final String name, final String pattern, final Project project, final boolean includeNonProjectItems) { - final Collection classes = PyClassNameIndex.find(name, project, includeNonProjectItems); - return classes.toArray(new NavigationItem[classes.size()]); + public NavigationItem[] getItemsByName(final String name, final String pattern, final Project project, + final boolean includeNonProjectItems) { + final List results = new ArrayList(); + results.addAll(PyClassNameIndex.find(name, project, includeNonProjectItems)); + results.addAll(PyModuleNameIndex.find(name, project, includeNonProjectItems)); + return results.toArray(new NavigationItem[results.size()]); } } diff --git a/python/src/com/jetbrains/python/PyGotoSymbolContributor.java b/python/src/com/jetbrains/python/PyGotoSymbolContributor.java index 6a283fd54ab0..e5eb410b570e 100644 --- a/python/src/com/jetbrains/python/PyGotoSymbolContributor.java +++ b/python/src/com/jetbrains/python/PyGotoSymbolContributor.java @@ -25,6 +25,7 @@ import com.jetbrains.python.psi.PyQualifiedNameOwner; import com.jetbrains.python.psi.search.PyProjectScopeBuilder; import com.jetbrains.python.psi.stubs.PyClassNameIndex; import com.jetbrains.python.psi.stubs.PyFunctionNameIndex; +import com.jetbrains.python.psi.stubs.PyModuleNameIndex; import com.jetbrains.python.psi.stubs.PyVariableNameIndex; import org.jetbrains.annotations.NotNull; @@ -41,6 +42,7 @@ public class PyGotoSymbolContributor implements GotoClassContributor { public String[] getNames(final Project project, final boolean includeNonProjectItems) { Set symbols = new HashSet(); symbols.addAll(PyClassNameIndex.allKeys(project)); + symbols.addAll(PyModuleNameIndex.getAllKeys(project)); symbols.addAll(StubIndex.getInstance().getAllKeys(PyFunctionNameIndex.KEY, project)); symbols.addAll(StubIndex.getInstance().getAllKeys(PyVariableNameIndex.KEY, project)); return ArrayUtil.toStringArray(symbols); @@ -54,6 +56,7 @@ public class PyGotoSymbolContributor implements GotoClassContributor { List symbols = new ArrayList(); symbols.addAll(PyClassNameIndex.find(name, project, scope)); + symbols.addAll(PyModuleNameIndex.find(name, project, includeNonProjectItems)); symbols.addAll(PyFunctionNameIndex.find(name, project, scope)); symbols.addAll(PyVariableNameIndex.find(name, project, scope));