forked from VimPlug/jedi
fix(import): support for nested namespace packages
If multiple directories in sys.path provide a nested namespace package, then jedi would only visit the first directory which contained the package. Fix this by saving the remaining path list in the ImplicitNamespaceValue and add a test for it.
This commit is contained in:
1
test/completion/namespace1/pkg1/pkg2/mod1.py
Normal file
1
test/completion/namespace1/pkg1/pkg2/mod1.py
Normal file
@@ -0,0 +1 @@
|
||||
mod1_name = 'mod1'
|
||||
1
test/completion/namespace2/pkg1/pkg2/mod2.py
Normal file
1
test/completion/namespace2/pkg1/pkg2/mod2.py
Normal file
@@ -0,0 +1 @@
|
||||
mod2_name = 'mod2'
|
||||
18
test/completion/ns_path.py
Normal file
18
test/completion/ns_path.py
Normal file
@@ -0,0 +1,18 @@
|
||||
import sys
|
||||
import os
|
||||
from os.path import dirname
|
||||
|
||||
sys.path.insert(0, os.path.join(dirname(__file__), 'namespace2'))
|
||||
sys.path.insert(0, os.path.join(dirname(__file__), 'namespace1'))
|
||||
|
||||
#? ['mod1']
|
||||
import pkg1.pkg2.mod1
|
||||
|
||||
#? ['mod2']
|
||||
import pkg1.pkg2.mod2
|
||||
|
||||
#? ['mod1_name']
|
||||
pkg1.pkg2.mod1.mod1_name
|
||||
|
||||
#? ['mod2_name']
|
||||
pkg1.pkg2.mod2.mod2_name
|
||||
Reference in New Issue
Block a user