1
0
forked from VimPlug/jedi

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) 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 - ``*args``/``**kwargs`` resolving. If possible Jedi replaces the parameters
with the actual alternatives. with the actual alternatives.
- Better support for enums/dataclasses - Better support for enums/dataclasses

View File

@@ -27,7 +27,7 @@ from jedi.api import interpreter
from jedi.api import helpers from jedi.api import helpers
from jedi.api.completion import Completion from jedi.api.completion import Completion
from jedi.api.environment import InterpreterEnvironment 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 Evaluator
from jedi.evaluate import imports from jedi.evaluate import imports
from jedi.evaluate import usages from jedi.evaluate import usages
@@ -463,7 +463,8 @@ class Interpreter(Script):
if not isinstance(environment, InterpreterEnvironment): if not isinstance(environment, InterpreterEnvironment):
raise TypeError("The environment needs to be an InterpreterEnvironment subclass.") 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 self.namespaces = namespaces
def _get_module(self): def _get_module(self):

View File

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

View File

@@ -1,6 +1,7 @@
import os 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): def test_django_default_project(Script):
@@ -13,3 +14,11 @@ def test_django_default_project(Script):
c, = script.completions() c, = script.completions()
assert c.name == "SomeModel" assert c.name == "SomeModel"
assert script._evaluator.project._django is True 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