From 4bc4f167e93855a77c3a7264fa40815497dda135 Mon Sep 17 00:00:00 2001 From: Sam Roeca Date: Fri, 29 Nov 2019 20:11:23 -0500 Subject: [PATCH] Revert "Fix: no longer shows folders recursively to root" This reverts commit 03b4177d3dd741df18651e87e0283d55192a6d34. --- jedi/api/project.py | 5 +---- jedi/common/utils.py | 26 +++++--------------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/jedi/api/project.py b/jedi/api/project.py index d4ef879a..f39ba90f 100644 --- a/jedi/api/project.py +++ b/jedi/api/project.py @@ -110,10 +110,7 @@ class Project(object): suffixed += discover_buildout_paths(inference_state, inference_state.script_path) if add_parent_paths: - traversed = list(traverse_parents( - inference_state.script_path, - root=self._path, - )) + traversed = list(traverse_parents(inference_state.script_path)) # AFAIK some libraries have imports like `foo.foo.bar`, which # leads to the conclusion to by default prefer longer paths diff --git a/jedi/common/utils.py b/jedi/common/utils.py index 2427f7e9..bc71cafd 100644 --- a/jedi/common/utils.py +++ b/jedi/common/utils.py @@ -2,31 +2,15 @@ import os from contextlib import contextmanager -def traverse_parents(path, root=None, include_current=False): - """Iterate directories from a path to search root - - :path: the path of the script/directory to check. - :root: the root of the upward search. Assumes the system root if root is - None. - :include_current: includes the current file / directory. - - If the root path is not a substring of the provided path, assume the root - search path as well. - """ +def traverse_parents(path, include_current=False): if not include_current: path = os.path.dirname(path) previous = None - if root is None or not path.startswith(root): - while previous != path: - yield path - previous = path - path = os.path.dirname(path) - else: - while previous != root: - yield path - previous = path - path = os.path.dirname(path) + while previous != path: + yield path + previous = path + path = os.path.dirname(path) @contextmanager