Start working on param autocompletion for the REPL.

This commit is contained in:
Dave Halter
2016-08-01 23:59:49 +02:00
parent 9acb5cf1b3
commit 05ad8c6608
2 changed files with 13 additions and 4 deletions

View File

@@ -118,11 +118,11 @@ def find_syntax_node_name(evaluator, python_object):
# be something like ``email.utils``).
return module
try:
names = module.used_names[python_object.__name__]
except NameError:
return None
name_str = python_object.__name__
if name_str == '<lambda>':
return None # It's too hard to find lambdas.
names = module.used_names[name_str]
names = [n for n in names if n.is_definition()]
try:

View File

@@ -148,3 +148,12 @@ class TestInterpreterAPI(TestCase):
foo = Foo()
self.check_interpreter_complete('foo.bar', locals(), ['bar'])
self.check_interpreter_complete('foo.bar.baz', locals(), [])
def test_param_completion(self):
def foo(bar):
pass
lambd = lambda x: 3
self.check_interpreter_complete('foo(bar', locals(), ['bar'])
self.check_interpreter_complete('lambd(x', locals(), ['x'])