From 0e95aaeaad8772253d8d7a3759f009b85e25003c Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 15 May 2019 08:19:46 +0200 Subject: [PATCH] A first try to load foo-stub directories --- jedi/evaluate/gradual/typeshed.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/jedi/evaluate/gradual/typeshed.py b/jedi/evaluate/gradual/typeshed.py index 158502ae..96c7c44f 100644 --- a/jedi/evaluate/gradual/typeshed.py +++ b/jedi/evaluate/gradual/typeshed.py @@ -135,7 +135,16 @@ def _try_to_load_stub(evaluator, actual_context_set, parent_module_context, sys_ except KeyError: pass - # 2. try to load pyi files next to py files. + # 1. Try to load foo-stubs folders on path for import name foo. + if not parent_module_context: + # foo-stubs + for p in sys_path: + init = os.path.join(p, *import_names) + '-stubs' + os.path.sep + '__init__.pyi' + m = _try_to_load_stub_from_file(evaluator, actual_context_set, init, import_names) + if m is not None: + return m + + # 2. Try to load pyi files next to py files. for c in actual_context_set: try: method = c.py__file__ @@ -218,6 +227,7 @@ def _try_to_load_stub_from_file(evaluator, actual_context_set, path, import_name import_names ) + def create_stub_module(evaluator, actual_context_set, stub_module_node, path, import_names): if import_names == ('typing',): module_cls = TypingModuleWrapper