mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-09 23:34:45 +08:00
Fix interpeter project path
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user