I think these modes are useful for me in Alexott's setup:

 - global-semanticdb-minor-mode: it's good to have a cache of what already parsed to speed up future sessions.

 - global-semantic-idle-scheduler-mode: it's nice if CEDET always follows my changes.

 - global-semantic-highlight-func-mode: having a special highlight of my first tag (which is usually variable declaration) is good

- (require 'semantic/bovine/c) and (require 'semantic/bovine/clang) and (require 'cedet-files): I think this is required for CEDET working

- (require 'eassist): its function for switching between .h and .cpp is useful. I used to use eassist-list-methods, but I am using helm--semantic-or-imenu these days.

- semantic-complete-analyze-inline: Nice stand-alone completion function. However, with auto-complete, it is less required, also sometimes the there's a lot of completion candidates, it would be better to have a separate buffer to see all the candidates.

- semantic-ia-fast-jump: yes, this is useful. I can jump to tag definition and included files.

- semantic-ia-show-doc: this function is nice if it can correctly parsed the comments of template functions.

- semantic-ia-show-summary: it is always useful to quickly see function interface without going to its declaration in another file. However, this function, like semantic-ia-show-doc, should be updated to list multiple overloaded functions.

Those are the features I frequently used. For key binding, I propose "C-c s" prefix for CEDET; s stands for semantic:

-  "C-c s j" : semantic-ia-fast-jump
-  "C-c s d" : semantic-ia-show-doc
-  "C-c s s": semantic-ia-show-summary
-  "C-c s t": eassist-switch-h-cpp
-  "C-c s a": semantic-analyze-inline
-  "C-c s r": semantic-symref

On Fri, Mar 14, 2014 at 7:10 AM, Eric M. Ludlam <eric@siege-engine.com> wrote:
On 03/12/2014 04:00 AM, Tu Do wrote:
CEDET should provide a default configuration. I think many people are
using Alexott's configuration:
https://github.com/alexott/emacs-configs/blob/master/rc/emacs-rc-cedet.el (myself
including), so I hope that it will get incorporated into future CEDET as
well. It should only take a function to setup, and if they want to
further customize (i.e. integration with Ctags, Cscope...) then there
should be a short and simple guide for adding relevant features.


I think it would indeed be a good idea to have some canned configurations for CEDET, though I am dependent on others who work on different kinds of code bases to design them.  I use a plain setup myself similar to what is in the cedet.texi doc, and then turn things on and off depending on what I am testing.

I'd love to hear from users on this list what you think a "short-and-sweet" setup looks like, vs other kinds of setup that might be more targeted toward a particular type of use.

I noticed in the example above, there are many keybindings.  I wonder if there is agreement out there what a good set of default keybindings might be.  We could wrap them up into a handy minor-mode, or just extend senator for that job, perhaps removing some lesser/never used features, or even building a new minor mode keyed based on experience from using senator for a long time.