cut .py extension from file completion variants (PY-3595)

This commit is contained in:
Dmitry Jemerov
2011-05-24 17:13:46 +04:00
parent 8ea5beccdf
commit 55f45e5732
5 changed files with 16 additions and 8 deletions
@@ -4,6 +4,7 @@ import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.LookupElementBuilder;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNamedElement;
@@ -110,9 +111,11 @@ public class VariantsProcessor implements PsiScopeProcessor {
// TODO: refactor to look saner; much code duplication
if (element instanceof PsiNamedElement) {
final PsiNamedElement psiNamedElement = (PsiNamedElement)element;
final String name = psiNamedElement.getName();
if (nameIsAcceptable(name)) {
myVariants.put(name, setupItem(LookupElementBuilder.create(psiNamedElement).setIcon(element.getIcon(0))));
final String name = psiNamedElement instanceof PyFile
? FileUtil.getNameWithoutExtension(((PyFile) psiNamedElement).getName())
: psiNamedElement.getName();
if (name != null && nameIsAcceptable(name)) {
myVariants.put(name, setupItem(LookupElementBuilder.create(psiNamedElement, name).setIcon(element.getIcon(0))));
}
}
else if (element instanceof PyReferenceExpression) {
@@ -1 +1,3 @@
from smname.moduleY import moduleZ
import smname
import smname.moduleY
smname.moduleY.moduleZ
+3 -1
View File
@@ -1 +1,3 @@
from smname.moduleY import mo<caret>
import smname
import smname.moduleY
smname.moduleY.mod<caret>
@@ -1 +1 @@
from . import moduleZ
from smname import moduleZ
@@ -368,9 +368,10 @@ public class PythonCompletionTest extends PyLightFixtureTestCase {
}
public void testFromImportedModuleCompletion() { // PY-3595
myFixture.copyDirectoryToProject("completion/py3595", "py3595");
myFixture.configureByFile("py3595/moduleX.py");
myFixture.copyDirectoryToProject("completion/py3595", "");
myFixture.configureByFile("moduleX.py");
myFixture.completeBasic();
myFixture.getLookupElementStrings();
myFixture.checkResultByFile("completion/py3595/moduleX.after.py");
}