On 31/07/07, Tal Einat <[EMAIL PROTECTED]> wrote:
>
> On 7/31/07, Ali Afshar <[EMAIL PROTECTED]> wrote:
> >
> > On 06/06/07, Tal Einat <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi all, (just joined the group)
> > >
> > > I've been developing IDLE over the past 2 years or so. Even before
> > > that, I helped a friend of mine, Noam Raphael, write IDLE's
> > > auto-completion, which is included in recent versions of IDLE.
> > >
> > > Noam wrote the original completion code from scratch, and AFAIK every
> > > Python IDE which features code completion has done the same. Surely
> > > there is -some- functionality which could be useful cross-IDE?
> > > Retrieving possible completions from the namespace, for example. And
> > > we should be learning from each-others' ideas and experiences.
> > >
> > > So how about we design a generic Python completion module, that
> > > each IDE could extend, and use for the completion logic?
> > >
> > > - Tal
> >
> > I have just implemented a completion mockup using Rope (which is a
> > refactoring library). It works quite nicely, and definitely worth a
> > look.
> >
> > http://rope.sourceforge.net/
> >
> > [snip]
>
> Wow, Rope does look very impressive! A quick look at the code tells me
> that a lot of work has been invested in it.
>
> So we have one existing Python-only solution. We should evaluate it -
> see what it can and can't do, and perhaps take a look at the overall
> design.
>
> I'm CC-ing Rope's developer, Ali. Hopefully Ali can help us quickly
> understand Rope's code analysis capabilities.
>
> Ali, could you elaborate a bit on what kinds of completion Rope can
> do, and the methods it uses? We would especially like to know how your
> static and dynamic inference work, what they can accomplish, and what
> their limitations are.
>

Well, I haven't really looked at the code. But I can tell you this:

from rope.ide.codeassist import PythonCodeAssist
from rope.base.project import Project
for compl in PythonCodeAssist(Project(package_root)).assist(buffer,
offset).completions:
    print compl

And that is as far as I really got. I expect to get a better look at
it later in the week though...

Ali

Reply via email to