Re: New Feature, feedback requested, IPython Jedi Completions
Brian Granger <[email protected]> Mon, 23 May 2016 07:40:04 -0700
| Newsgroups | gmane.comp.python.ipython.devel |
|---|---|
| Message-ID | <CAH4pYpTybU_nYGmf1a+bRmOQNwd+nNKtVgrok9EyLSOCF8XHyQ@mail.gmail.com> |
Thanks for the summary! I will keep using it to help find problems. On Fri, May 20, 2016 at 7:47 PM, Matthias Bussonnier <[email protected]> wrote: > Hi Brian, yes: > > https://github.com/ipython/ipython/issues/9460 (crash IPython on tab completion) > https://github.com/ipython/ipython/issues/9458 ( `[x for x in n<tab> > if condition]` -> garbage, can't complete in middle of line) > https://github.com/ipython/ipython/issues/9442 (need to type 2 letters > of a token to actually complete) > https://github.com/ipython/ipython/issues/9402 (ipython foo.py > > foo.out ; crash ipython) > > Plus a few personal communication I got from users frustrated that > couldn't get work done, and things like > > `from foo.bar import a_thi<tab>` -> `from foo.bar importort > fromfoo.barfoo a_thing` > > You can look at the list of issue on github: > > https://github.com/ipython/ipython/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+jedi > > > More generally I think we can make a much better integration with jedi > if we update the IPython completion machinery instead of bolting jedi > on the side. And we can likely iron af ew of jedi quirk with the > `Interpreter` completer, that report each completion as being a module > for example. > > If you really don't suffer from any of above issues it should be > pretty straitforward to implement the reverted code as a custom > completer. > > Cheers, > -- > M > > On Fri, May 20, 2016 at 7:11 PM, Brian Granger <[email protected]> wrote: >> I was enjoying the new completions in ipython. Can you outline what >> undesired side effects there were. I am fine reverting for 5.0, just >> curious. >> >> On Fri, May 20, 2016 at 4:04 PM, Matthias Bussonnier >> <[email protected]> wrote: >>> So small update, >>> >>> Integrating with jedi completion had a few undesired side-effect, well >>> roll back the integration for 5.0 and rework it for 6.0. >>> So no jedi for now... >>> >>> Still for it was a nice experience and the integration in 6.0 should >>> improve completion a lot. >>> >>> Thanks ! >>> -- >>> M >>> >>> On Thu, May 5, 2016 at 9:39 AM, Brian Granger <[email protected]> wrote: >>>> Awesome!!! >>>> >>>> On Thu, May 5, 2016 at 9:34 AM, Matthias Bussonnier >>>> <[email protected]> wrote: >>>>> Hello List, >>>>> >>>>> A few minutes ago we merged a PR[1] adding jedi[2] integration to IPython, >>>>> this make the IPython completer a bit smarter, >>>>> as it now knows about situation like: >>>>> >>>>> In[1]: ('je'+'di').upper().<tab> >>>>> >>>>> Where it will infer that you are actually calling a method on a string, >>>>> which before was requiring setting `IPCompleter.greedy` to `true` >>>>> which has the drawback of evaluating your code with its side effects. >>>>> >>>>> Though, the API Jedi provide and API IPython expect are slightly different, >>>>> we did our best to adapt the two, still I would expect >>>>> a few edge cases to appear where the result of the completion might be >>>>> wrong. >>>>> >>>>> We would appreciate if you could look out for these cases, and report any >>>>> completion that misbehave. >>>>> This will likely affect both IPython when using the notebook, and the plain >>>>> IPython terminal. >>>>> >>>>> Enjoy pressing the "weaponized" tab key even more, and kudos to @liukelly >>>>> [3] for her work >>>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> Matthias >>>>> >>>>> Extra notes: Jedi appears as a mandatory dependency, but IPython should >>>>> still work if Jedi is not importable. >>>>> IPCompleter.use_jedi_completions=<Bool> config parameter can be use to >>>>> deactivate jedi completions if they are by any chance annoying. >>>>> >>>>> [1] https://github.com/ipython/ipython/pull/9375 >>>>> [2] http://jedi.jedidjah.ch/en/latest/ >>>>> [3] https://github.com/liukelly >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> IPython-dev mailing list >>>>> [email protected] >>>>> https://mail.scipy.org/mailman/listinfo/ipython-dev >>>>> >>>> >>>> >>>> >>>> -- >>>> Brian E. Granger >>>> Associate Professor of Physics and Data Science >>>> Cal Poly State University, San Luis Obispo >>>> @ellisonbg on Twitter and GitHub >>>> [email protected] and [email protected] >>>> _______________________________________________ >>>> IPython-dev mailing list >>>> [email protected] >>>> https://mail.scipy.org/mailman/listinfo/ipython-dev >>> _______________________________________________ >>> IPython-dev mailing list >>> [email protected] >>> https://mail.scipy.org/mailman/listinfo/ipython-dev >> >> >> >> -- >> Brian E. Granger >> Associate Professor of Physics and Data Science >> Cal Poly State University, San Luis Obispo >> @ellisonbg on Twitter and GitHub >> [email protected] and [email protected] >> _______________________________________________ >> IPython-dev mailing list >> [email protected] >> https://mail.scipy.org/mailman/listinfo/ipython-dev > _______________________________________________ > IPython-dev mailing list > [email protected] > https://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Associate Professor of Physics and Data Science Cal Poly State University, San Luis Obispo @ellisonbg on Twitter and GitHub [email protected] and [email protected]