Make it possible to complete in non-Python files

This commit is contained in:
Dave Halter
2019-02-28 20:04:17 +01:00
parent 8aca357de6
commit ffd9a6b484
2 changed files with 7 additions and 5 deletions

View File

@@ -210,9 +210,9 @@ def transform_path_to_dotted(sys_path, module_path):
if module_path.endswith(suffix):
module_path = module_path[:-len(suffix)]
break
else:
# There should always be a suffix in a valid Python file on the path.
return None
# Once the suffix was removed we are using the files as we know them. This
# means that if someone uses an ending like .vim for a Python file, .vim
# will be part of the returned dotted part.
for p in sys_path:
if module_path.startswith(p):

View File

@@ -254,11 +254,13 @@ def test_compiled_import_none(monkeypatch, Script):
assert not Script('import sys').goto_definitions()
def test_relative_imports_with_multiple_similar_directories(Script):
@pytest.mark.parametrize(
'path', ('api/whatever/test_this.py', 'api/whatever/file'))
def test_relative_imports_with_multiple_similar_directories(Script, path):
dir = get_example_dir('issue1209')
script = Script(
"from .",
path=os.path.join(dir, 'api/whatever/test_this.py')
path=os.path.join(dir, path)
)
# TODO pass this project to the script as a param once that's possible.
script._evaluator.project = Project(dir)