Re: [CEDET-devel] New CEDET bling
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2009-03-31 11:11:34
|
>>> Daniel Clemente <dcl...@ya...> seems to think that: >El dt, mar 31 2009, Eric M. Ludlam va escriure: [ ... ] >> Second, I added a feature to semantic-idle-summary-mode that will also >> highlight the target of the summary if it is currently displayed >> somewhere. That's kind of fun. Let me know if it's too much. >> Perhaps it should be off by default? >> > > This is similar to what Eclipse does: when you click/hover a > symbol, all occurrences of it are highlighted. It highlights the > symbol, not the word: for instance, if it is a local variable, only > the current function is affected. I find this very useful because > it helps me see where a variable is used and where it isn't. It > also assures me that the parser has found the symbol correctly. Is > something similar available in CEDET? I saw someone post on emacswiki about this feature, and I figured this first step would be easy. Local variable highlighting would be ok to do standalone, but the more full-featured version for globals would be a bit trickier. That feature is similar to what I want the symref tool to do. The missing piece is a way to do a light-weight "analyze" at each location of the symbol text that matches to verify that it really is the symbol you are looking for. Going half-way for the local variables might be the right thing short term. >> Next, I changed the SRecoder field editing flag. It is now >> `srecode-insert-ask-variable-method'. If you set it to 'field, then >> you will get field editing instead of minibuffer prompts. This goes >> in conjunction with a fix that allows it to actually work reliably. I >> wasn't able to get a broken behavior when I put it through it's paces, >> so I think it's good now. To see it in action, open a C++ file with >> srecode minor mode turned on. C-c / / will prompt for a template. >> The declaration::class template is pretty good, showing three >> identical NAME fields. Type in a name over the default, and it >> updates all three locations. Pretty nifty. >> > > I saw that you can edit the field in place even if you move inside > the template. But the cursor gets outside, the text is accepted and > changing one doesn't change the others anymore. It may be good > this way. Another way would be having to confirm the text with > Enter in any of those text field. Then you are allowed to move > further. That is on purpose. I needed a way to disable the fields when the user was "done", and I wanted it to be natural. As some fields will probably have newlines in them, I wasn't sure what a good confirmation keystroke might be. (C-c C-c?) I suppose a completely different trick is ... > By the way, this feature remembers me of symbol renaming in Eclipse > (Alt+Shift+R): the symbol is converted to a text field where you > can type the new name. to do that. This is something I wanted to do for in the semantic-symref tool. I made the field-editing of srecode independently tested so it could be lifted for other purposes. My initial investigation of this refactoring feature is that I need to solve the "analysis per symbol text hit" I discussed above for the highlighting. >> Lastly, I've been tweaking COGRE. It has been neglected for many >> years. I gave it quite a face lift. It now has full mouse >> interaction and a toolbar. Right click to add nodes. Middle click >> and drag to create links. Left click and drag to move nodes around. > > Great! Usability! > > However, to make it more usable, could you disable normal text > selection on that buffer? (or at least on nodes). Many times that I > click and drag (even on a node), some lines are highlighted (as it > normally happens when you click and drag text). And right click > also extends the selection (it opens the context menu too). It > clutters the usage. [ ... ] That annoys me to, but I'm not sure how to disable it, and I haven't looked in to learn how that stuff works in detail. I thought rebinding the mouse keys would do it, but no luck. Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |