forked from VimPlug/jedi
Fix interpeter project path
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user