diff --git a/jedi/api/completion.py b/jedi/api/completion.py index 829b1077..00b937cf 100644 --- a/jedi/api/completion.py +++ b/jedi/api/completion.py @@ -130,7 +130,7 @@ class Completion: completion_names = list(self._get_keyword_completion_names(allowed_keywords)) - if token.NAME in allowed_tokens: + if token.NAME in allowed_tokens or token.INDENT in allowed_tokens: # This means that we actually have to do type inference. symbol_names = list(self.stack.get_node_names(grammar)) diff --git a/test/test_api/test_completion.py b/test/test_api/test_completion.py index a0d146a7..eb65f4f6 100644 --- a/test/test_api/test_completion.py +++ b/test/test_api/test_completion.py @@ -28,3 +28,13 @@ def test_in_empty_space(): assert self.name == 'self' def_, = self._goto_definitions() assert def_.name == 'X' + + +def test_indent_context(): + """ + If an INDENT is the next supposed token, we should still be able to + complete. + """ + code = 'if 1:\nisinstanc' + comp, = Script(code).completions() + assert comp.name == 'isinstance'