[prev in list] [next in list] [prev in thread] [next in thread] 

List:       quanta-devel
Subject:    Re: [quanta-devel] Change to KTextEditor code completion interface
From:       Hamish Rodda <rodda () kde ! org>
Date:       2006-11-09 13:02:31
Message-ID: 200611100002.33956.rodda () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Thursday 09 November 2006 18:42, you wrote:
> Hi,
>
> On Thursday 09 November 2006 08:11, Hamish Rodda wrote:
> > Unfortunately in my porting I missed that Quanta was actually using
> > the old interface.
>
> Yes, that part was not really touched since the big changes in KDE4
> begun. Actually I think that it was compiling but not working since
> months.

Yes, I don't think it was completed within katepart to start with.

> > I've started on porting Quanta to the new interface, but I have a few
> > questions:
> >
> > 1) Invocation of code completion.
> > This is now handled in three ways: a) automatic invocation, when the
> > user types specific text b) manual invocation, when the user types a
> > shortcut, and c) 3rd party invocation, eg. if Quanta specifically
> > requests a code completion to be shown.
>
> Exactly.
>
> > Currently you're using your own system to provide invocation, which
> > under the new scheme would be c).  However I'm guessing that you
> > might be interested in using the inbuilt invocation now?  Currently
> > it is implemented with regexps for finding the start and end of the
> > range of text to be completed - the new code needs to know where the
> > text to be completed against starts and finishes.  I was thinking of
> > enabling completion models to supply their own regexps for detecting
> > valid ranges of text to be completed, or even having a virtual
> > function which can be called to provide this detection.
> >
> > Here are the inbuild regexps as they stand at the moment: word
> > start: "\b([_\w]+)$", word end: "^([_\w]*)\b".  I guess they might be
> > a bit too programming-specific in comparison to what you need.
> >
> > Alternatively you could stay with your current system and use option
> > c), but that would limit the ability for other completion providers
> > to peacefully coexist (not that I can really see a good use case for
> > it, but...)
>
> This looks a nice idea. Actually the completion code does a lot of magic
> trying to find out what should be completed (tag, attribute, attribute
> value, function, etc.) and trying to find the beginning of the
> to-be-completed text. I may imagine that providing our own regexps to
> the completion interface and let it do the job would be much cleaner.

Ok, so I can port what's there to a simple case and you can work on it from 
there?

> > 2) actually, it's just the invocation issue now :)
>
> You mean the rest (providing the list with the completion items,
> filtering the result and so) is not changed in the new interface?

No, it's just that I can do the basics of that myself.  You'll have to add in 
the attributes, prefix / postfix etc, but then the filtering, sorting etc 
logic is all within katepart.

Cheers,
Hamish.

PS. I am actually still subscribed, so no need to cc me

[Attachment #5 (application/pgp-signature)]

_______________________________________________
quanta-devel mailing list
quanta-devel@kde.org
https://mail.kde.org/mailman/listinfo/quanta-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic