Re[3]: [cedet-semantic] 2 quick questions about smart completion (intellisense)
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2003-03-26 18:53:36
|
>>> Jan Sacharuk <ja...@bi...> seems to think that: [ ... ] >>> In order for the context analyzer to work, the struct must be >>> complete (you need a semi-colon at the end) >> >> Oh, sorry for the typo. Anyway I was writing by heart... the real code >> that I tried did have the semicolon. >> Maybe it's that I was not calling bovinate. > >Does bovinate have to be called on every single file that I want >information pulled from? I've got several hundred source files that I'm >working with, so doing such a step would be incredibly time consuming. (I'd >probably be willing to do it, though.) Hi, The `bovinate' command is only needed iff you disable semantic-auto-reparse-mode and make a `big' change to a file. (Like adding a new function.) Auto reparse mode schedules full reparses of a buffer in idle time. Also, if you need completion from classes in other files you need semanticdb enabled. Once enabled, you just need to visit the files you care about once to have them made searchable. The next version of semantic will have shell scripts to do that for you. >>> Next, there is an existing bug where you need at least one >>> character after the . or -> before the local context parser will >>> work. >>> >> >> That doesn't seem to be true... if I only write >> >> my_struct m; >> m. >> >> it displays all the members, which seems correct. > >I can't get that behaviour to occur at all! Nor can I get a list of >possible completions to come up automatically if I type one character after >the '.' or '->'. > >I'm following the instructions laid out on the Semantic hompage, and I just >installed 1.4.3. I'm still using Speedbar 1.4. There are three ways to get a list of completions. One is via the speedbar mode, and the other is to call `semantic-analyze-possible-completions' which is sort of a debugging routine, and the third is to use `semantic-ia-complete-symbol' command. >Now, firstly, is it absolutely necessary to be using Speedbar? I prefer to >do my work in ECB alone, so I've stopped using speedbar all together, >basically. The step on the instruction page says that I have to do a >'semantic-speedbar-analysis' to get a list of possible completions. While >it's true that doing that causes speedbar to sit and think for a while, the >list of possible completions are all entirely incorrect. Not a single >member of my class appears, while a host of other completions that start >with the same letter come up. The automatic display engine for the analyzer is only available in speedbar. You can, however, embed speedbar in ECB and do both. >Up until now, I've been using the senator methods in ECB to do completions >('senator-complete-symbol' and 'senator-completion-menu-popup'), but those >seem to have little intelligence or awareness of class members. > >> - why does M-x bovinate not leave the focus (cursor) in the current >> window? It seems I must call bovinate very often, and each time I >> must do C-x o to get back... this is unpractical. > >I agree, especially since it brings up my ECB compile window. It shouldn't be necessary to call bovinate alot. The auto-reparse engine should do it for you. It may be there is a need to force a reparse whenever the completion engine is run. You can also type: "M-- M-x bovinate" to avoid the extra buffer. >>> Lastly, it will not find completions in files you have not visited >>> at least once with Emacs. > >Ah, this seems to answer my previous question somewhat, though I think that >it's coming up with completions from files that I've never visited. Either >that, or it's analysing things oddly. One of the main completions I get for >members that start with 'm' is 'math3d.h'. [ ... ] Oh dear. I'll have to look into that. Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |