Re: [cedet-semantic] hippie-expand
Brought to you by:
zappo
From: Michael R. <re...@gm...> - 2008-03-05 14:33:21
|
On Wednesday 05 March 2008 05:53, Eric M. Ludlam wrote: > Thanks for pointing this out. It should make this much more usable > now. > I'm currently trying it with a bigger project, and it works very well so far! Very cool! Thanks! There is something else a bit weird. This is no overly big issue, I just noticed it and thought I might mention it. From time to time the completion seems to get stuck a bit in a "wrong mode". Then it only takes the parameters of the surrounding function into account for completion and doesn't respect type information anymore. Timing seems to play a role. See two examples: I modified my main() a bit: int main( int argc, char **argv ) { const char* ccc = "sfas"; long asdf; const char* auuu; Foo* bar; bar->bbb( a } First example is, that completion gets stuck: Suppose I want to write the line "bar->bbb( ccc );". I start at "bar->", complete to "bar->bbb", type "( c" and now want it to complete to "ccc". However sometimes it does just nothing, "No expansion found". As said above it only takes argv and argc into account, and as they don't start with "c" it can't expand. The other example is: When you are at "bar->bbb( a_" in general it nicly completes argv and auuu, it respects the parameter type of bbb() and ignores argc or asdf (wrong type). However if you call hippie-expand a bit faster (I have bound it to TAB) senator-try-expand-semantic somehow falls back to only give argv and argc, and ignores the type (argc is int) ... Not sure if this has sometimg to do with it, but looking at Speedbar Analyze Mode with cursor at the completion point ( "bar->bbb( c_" or "bar->bbb( a_" ), "Local Varables" sometimes shows only argv und argc, and sometimes it's not present at all. Also the sections Function, Argument and Completions are sometimes missing. Sometimes it completes nevertheless, sometimes not. (I always wait a bit for speedbar to update, but it doesn't change.) As said above, this is not mission critical, I just noticed it ... Greets Michael |