>>> joakim@... seems to think that:
>"Eric M. Ludlam" <eric@...> writes:
>
>>>>> From cedet-devel-bounces@... Thu Mar 8 09:10:06 2007 seems to think that:
>>>This time I have some acual progress to report.
>>>
>>>I can now complete sucessfully in this java test file:
>>>
>>>public class tst {
>>> class class_y {
>>> int mungo;
>>> }
>>> class_y x;
>>> void mupp(String a){
>>> x.;
>>> java.lang.StringBuffer stringbuffervar;
>>> stringbuffervar.<POINT>;
>>> }
>>>}
>>>
>>>with semantic-ia-complete-symbol. The code is still very rough though.
>>
>> Huzzah!
>>
>> Your problem is that the java code needs to import
>> java.lang.StringBuffer in order for the omniscience databases to be
>> searched. I got the java database to show up without the
>> implementation of that method.
>
>Hmm I dont really get this. If I do an import, does semantic already
>somehow understand the symbol is external? How can we then learn
>semantic to consider the reference java.lang.StringBuffer in the same way?
For speed reasons, searching is restricted to include statements.
Right now if there is an include not in your project, it will append
an omniscience database in case that can find the symbols therin.
Thus, if you have no import statements, the assumption is that you
aren't using any symbols outside your file. This makes searching the
tag lists much faster.
We need to teach Emacs that these omniscience databases are so fast,
we can do that search anyway.
>> There is also a generic problem that omniscience databases should
>> always be appended, regardless of search type if that throttle is
>> turned on. I'll work on that part of the find infrastructure and let
>> you know when I've got something.
>
>Ok!
>
>>>In this buffer, type RET to select the completion near point.
>>>
>>>Possible completions are:
>>>append (java.lang.StringBuffer,double)
>>>capacity (int) charAt (char,int)
>> [ ... ]
>>
>> I would guess that you are not producing the correct type of tag.
>> You may need to get some more parsing of the bsh output to break out
>> the argument list and such.
>
>I dont really see what I do wrong. If I do semantic-tag-new-function
>and add a return type, the type gets added to the completion, which is wrong.
[ ... ]
I tried your example but in a C file and replicated your behavior.
That's a side-effect of clicking on the option from the completions
buffer. I've never used that feature before.
A simple work-around is to change
`semantic-ia-completion-format-tag-function' to something else.
Alternately, perhaps `semantic-complete-analyze-and-replace' would be
a better way to do the completion, though that may have different
problems.
The best user interface tactic for this completion is tricky stuff.
I've written a few different tools for it, and none of them would
qualify as "the right thing."
Eric
--
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org
|