mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-46054 Fix missing same directory completion variants
(cherry picked from commit fb17e9285a39846b93708fb33c9822bff0a8da35) IJ-MR-4823 GitOrigin-RevId: 1e0b31e14ff2c1ee95358b7bf68576f413fed71c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dba164b988
commit
01f2002956
@@ -2,6 +2,7 @@
|
||||
package com.jetbrains.python.psi.resolve;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.codeInsight.completion.CompletionUtilCoreImpl;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
@@ -47,7 +48,8 @@ public final class ResolveImportUtil {
|
||||
if (file instanceof PyFile) {
|
||||
final PyFile pyFile = (PyFile)file;
|
||||
if (pyFile.getLanguageLevel().isPy3K()) {
|
||||
if (foothold.getManager().isInProject(foothold) && Registry.is("python.explicit.namespace.packages")) {
|
||||
PsiElement originalFoothold = CompletionUtilCoreImpl.getOriginalOrSelf(foothold);
|
||||
if (foothold.getManager().isInProject(originalFoothold) && Registry.is("python.explicit.namespace.packages")) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
def foo():
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
from lib import foo
|
||||
@@ -0,0 +1 @@
|
||||
from lib import f<caret>
|
||||
@@ -491,6 +491,16 @@ public class Py3CompletionTest extends PyTestCase {
|
||||
});
|
||||
}
|
||||
|
||||
// PY-46054
|
||||
public void testFromImportFromSameDirectoryModule() {
|
||||
runWithLanguageLevel(LanguageLevel.getLatest(), () -> {
|
||||
myFixture.copyDirectoryToProject(getTestName(true), "");
|
||||
myFixture.configureByFile("foo_bar/sample.py");
|
||||
myFixture.completeBasic();
|
||||
myFixture.checkResultByFile(getTestName(true) + "/foo_bar/sample.after.py");
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return super.getTestDataPath() + "/completion";
|
||||
|
||||
Reference in New Issue
Block a user