CEDET was certainly designed to work cross-language, as it provides a
single API that works across all languages, with a secondary API for
Unfortunately, I'm not a Java or JDEE expert.
The basic strategy is to get an EDE project pointing to the root of all
your code. I'm assuming all the languages you mentioned are in one big
mega-project. That top level project then needs to know about all the
targets. For simplicity sake, you could have one target per language
type, or more detailed, one target per language/directory.
That sounds good, but no-one has written such a generic project. If you
feel adventurous, you could copy ede-emacs.el to your own thing, and
change ede-emacs-project-root to ede-myproject-project-root and fix the
directory detection. The framework for rolling your own is pretty easy
If all else fails, you can just use ede-cpp-root, and it will deal with
your c++ code fine, and provide a simple root-of-project for all the
cross referencing functions.
As for all your languages, each language has varying levels of support
based on how much effort the folks who use that language have chosen to
put into it. In the JDEE case, they have their own completion system.
There have been projects to merge CEDET's from-source-only completion
with JDEEs from-compiled-only parsing, but it has never been finished.
As for the symbol references, you can use any of the different tools you
prefer, or none. If you try it (once you have an EDE project specifying
the root) with the find/grep solution and it is fast enough, then you
can consider yourself done.
The simple-recipe version of the doc is in cedet/common/cedet.el where
it will help based on what kind of task you have. Your task isn't in
there, but some aspects of it are.
If you have more specific questions, they may be easier to answer.
On 04/30/2010 03:40 PM, David Ventimiglia wrote:
> I’m sure versions of this newbie type question get asked again and again
> from time to time, but I just couldn’t pull together an answer for
> myself by sifting the CEDET list archives, so (apologies), I’ll ask away.
> What are some best practices for configuring CEDET for a Java-ish
> project, in order to achieve:
> * Smart completion
> * Symbol lookup
> * File name lookup
> * Cross-references
> I should point out that my "project" (as is quite common) has many file
> I'd like to have a somewhat uniform Emacs view of all this. That's
> partly why JDEE project files don't quite do the trick.
> The problem I'm having is that the JDEE provides some version of these
> features, with some deficiencies, and seemingly with considerable
> overlap with CEDET. Completion and symbol lookup exist, but are slow and
> only work for compiled classes. Also, they only work for Java files,
> which is inadequate when a project has a mixture of other programming
> languages and file types. File name lookup seems not to exist at all.
> And JDEE has the xref database, but it's a little flaky (it pukes while
> parsing one of my files) and again, only works for Java files.
> So, I'd prefer to use CEDET's features for these. Evidently, it involves
> some combination of CEDET customizations, EDE project configuration, and
> maybe some use of idutils and/or GNU Global for good measure.
> Unfortunately, I haven't yet figured out how to do this, despite staring
> at the CEDET documentation for a few days. I'll keep plugging away at
> it, but I confess I'm badly in need of a clue on this. Thanks in
> advance. And I should say, I really am very impressed by CEDET (despite
> an imperfect understanding of it) and sense considerable power embedded
> in it.
> All the best,
> David Ventimiglia
> cedet-semantic mailing list