From b027fd81d6f6ac42d6f11cbc3c9c343d13fd4e33 2017-11-05 13:28:34 From: Rastislav Barlik Date: 2017-11-05 13:28:34 Subject: [PATCH] Fix broken jedi auto-completion with newest jedi In jedi v0.11, parser has been refactored in and moved into a separate `parso` package. --- diff --git a/IPython/core/completer.py b/IPython/core/completer.py index fce43f0..4a0dc69 100644 --- a/IPython/core/completer.py +++ b/IPython/core/completer.py @@ -1350,11 +1350,11 @@ class IPCompleter(Completer): try: # should we check the type of the node is Error ? - from jedi.parser.tree import ErrorLeaf + from parso.tree import ErrorLeaf next_to_last_tree = interpreter._get_module().tree_node.children[-2] completing_string = False if isinstance(next_to_last_tree, ErrorLeaf): - completing_string = interpreter._get_module().tree_node.children[-2].value[0] in {'"', "'"} + completing_string = next_to_last_tree.value[0] in {'"', "'"} # if we are in a string jedi is likely not the right candidate for # now. Skip it. try_jedi = not completing_string diff --git a/setup.py b/setup.py index abec89d..49d0d7b 100755 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ if sys.version_info < (3, 3): except Exception: pass - + error = """ IPython 6.0+ does not support Python 2.6, 2.7, 3.0, 3.1, or 3.2. When using Python 2.7, please install IPython 5.x LTS Long Term Support version. @@ -185,7 +185,7 @@ extras_require = dict( install_requires = [ 'setuptools>=18.5', - 'jedi>=0.10', + 'jedi>=0.11', 'decorator', 'pickleshare', 'simplegeneric>0.8',