Fix interpeter project path

This commit is contained in:
Dave Halter
2019-08-05 00:43:37 +02:00
parent 38e0cbc1d2
commit 45dada9552
4 changed files with 16 additions and 4 deletions

View File

@@ -6,6 +6,8 @@ Changelog
0.15.0 (XXXX-XX-XX)
+++++++++++++++++++
- Added file path completions, there's a **new ``Completion.type``** ``path``,
now.
- ``*args``/``**kwargs`` resolving. If possible Jedi replaces the parameters
with the actual alternatives.
- Better support for enums/dataclasses

View File

@@ -27,7 +27,7 @@ from jedi.api import interpreter
from jedi.api import helpers
from jedi.api.completion import Completion
from jedi.api.environment import InterpreterEnvironment
from jedi.api.project import get_default_project
from jedi.api.project import get_default_project, Project
from jedi.evaluate import Evaluator
from jedi.evaluate import imports
from jedi.evaluate import usages
@@ -463,7 +463,8 @@ class Interpreter(Script):
if not isinstance(environment, InterpreterEnvironment):
raise TypeError("The environment needs to be an InterpreterEnvironment subclass.")
super(Interpreter, self).__init__(source, environment=environment, **kwds)
super(Interpreter, self).__init__(source, environment=environment,
_project=Project(os.getcwd()), **kwds)
self.namespaces = namespaces
def _get_module(self):

View File

@@ -154,7 +154,7 @@ class BaseDefinition(object):
'function'
Valid values for are ``module``, ``class``, ``instance``, ``function``,
``param`` and ``keyword``.
``param``, ``path`` and ``keyword``.
"""
tree_name = self._name.tree_name

View File

@@ -1,6 +1,7 @@
import os
from ..helpers import get_example_dir
from ..helpers import get_example_dir, set_cwd, root_dir
from jedi import Interpreter
def test_django_default_project(Script):
@@ -13,3 +14,11 @@ def test_django_default_project(Script):
c, = script.completions()
assert c.name == "SomeModel"
assert script._evaluator.project._django is True
def test_interpreter_project_path():
# Run from anywhere it should be the cwd.
dir = os.path.join(root_dir, 'test')
with set_cwd(dir):
project = Interpreter('', [locals()])._evaluator.project
assert project._path == dir