jdee-emacs / jdee

The JDEE is an add-on software package that turns Emacs into a comprehensive system for creating, editing, debugging, and documenting Java applications.
GNU General Public License v2.0
424 stars 55 forks source link

Should JDEE integrate more of Semantic/Cedet? #150

Open andreas-marschke opened 6 years ago

andreas-marschke commented 6 years ago

I've been wondering about this beeing something of benefit for JDEE, specifically when it comes to completion tooling in Java (see: semantic).

Semantic implements a full parser/lexer with most of the java features supported (Only seems to miss Annotations but I'm researching how to resolve this.). JDEE could use this and feed semantic with source/dependency/project information such as class/method signatures and where which package lives. It could help enabling context-based completion.

With this and the project specific tooling for help/navigation/tools at our disposal JDEE could become really powerful.

CEDET(Of which Semantic is a part of) has been shipped with Emacs for a while now so I wouldn't be too worried about adding unnecessary requirements to the onboarding experience.

WDYT?

pwojnowski commented 6 years ago

Hi! I've been writing this response a few times already. :-)

CEDET is being used in some parts of JDEE. It's helpful in file parsing, but IMHO it won't be able to scan whole project to provide different information about the sources. It's just too slow and would kill Emacs. IMHO it's a job for an external indexer. However the information gathered by Semantic from currently edited files are still useful.

AFAIR there is Semantic DB, which could be feed from such external indexer, but I haven't seen it migrated to newer Emacs, so not sure if it can be used or not. Also I'm not sure what is the status of CEDET itself - is/was it already merged into Emacs? Some parts of it (semantic) are in Emacs, but I don't know what will happen with the rest.