1
0
forked from VimPlug/jedi

Fix a few more file name completion cases

This commit is contained in:
Dave Halter
2019-08-04 22:43:23 +02:00
parent fd1e6afd07
commit e008a515e3
5 changed files with 43 additions and 18 deletions

View File

@@ -1,17 +1,32 @@
import os
from jedi._compatibility import FileNotFoundError
from jedi.evaluate.names import AbstractArbitraryName
from jedi.api import classes
def file_name_completions(evaluator, string, like_name):
base_name = os.path.basename(string)
like_name = base_name + like_name
string = os.path.dirname(string)
base_path = os.path.join(evaluator.project._path, string)
print(string, base_path)
for name in os.listdir(base_path):
try:
listed = os.listdir(base_path)
except FileNotFoundError:
return
for name in listed:
if name.startswith(like_name):
path_for_name = os.path.join(base_path, name)
if os.path.isdir(path_for_name):
name += os.path.sep
yield FileName(evaluator, name)
yield classes.Completion(
evaluator,
FileName(evaluator, name),
stack=None,
like_name_length=len(like_name),
)
class FileName(AbstractArbitraryName):