New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skip our own Python completions when using Jedi #10969
Conversation
Seem reasonable to me. |
Some tests assumed our own completion machinery was in use. I've fixed them, but not very elegantly. |
Do you want to have that on the 5.x branch ? or 6.x only ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feel free to self-merge after choosing 5.x or 6.x
5.x doesn't use Jedi, right? So this should be for 6.x. |
Ah you are right. I need to wake up. |
I think there's another "bug". Ipython is doing case-insensitive completion. If I do Ipython 6.2.1 |
Can you open a new issue about that? I suspect it's deliberate-ish that Jedi does case-insensitive completions, but ideally we could be smarter about it. I think IPython's own machinery tries to do case-sensitive completions first, and then case-insensitive if there were no matches. |
This issue has still not been resolved as of: |
cc @Carreau
At present, we combine our own completions with those from Jedi. This means we won't catch anything that Jedi is missing, making it harder to eventually drop our own completion machinery.
This makes the
use_jedi
option switch between Jedi and our own completion machinery, so by default the Jedi completions will be used, and our own completions will not. If people experience problems, they can configureCompleter.use_jedi = False
to go back to our completion machinery for now (and hopefully file issues so we're aware of the problems).I also got rid of a parameter which doesn't appear to be used anywhere.