mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Change search strategy for adding parent paths:
1. skip dirs with __init__.py 2. Stop immediately when above self._path
This commit is contained in:
@@ -110,16 +110,15 @@ class Project(object):
|
||||
suffixed += discover_buildout_paths(inference_state, inference_state.script_path)
|
||||
|
||||
if add_parent_paths:
|
||||
# Collect directories in upward search until we:
|
||||
# 1. Hit any directory without an __init__.py, AND
|
||||
# 2. Are above self._path.
|
||||
# Collect directories in upward search by:
|
||||
# 1. Skipping directories with __init__.py
|
||||
# 2. Stopping immediately when above self._path
|
||||
traversed = []
|
||||
no_init = False
|
||||
for parent_path in traverse_parents(inference_state.script_path):
|
||||
if not os.path.isfile(os.path.join(parent_path, "__init__.py")):
|
||||
no_init = True
|
||||
if no_init and not parent_path.startswith(self._path):
|
||||
if not parent_path.startswith(self._path):
|
||||
break
|
||||
if os.path.isfile(os.path.join(parent_path, "__init__.py")):
|
||||
continue
|
||||
traversed.append(parent_path)
|
||||
|
||||
# AFAIK some libraries have imports like `foo.foo.bar`, which
|
||||
|
||||
Reference in New Issue
Block a user