A good place to start is here:
You can use the exuberent ctags parser as the CEDET parser. It will
call out to ectags to reparse the file. For it to work, the ctags
parser will need to support as many of the keywords as possible. I
don't know anything about SCALA, but start parsing, function argument
parsing, fcn return parsing, and the like are all important. If you
don't have that, then the best cedet can do with it is the find-by-name
type features. The code support for C in cedet/semantic/ctags is a good
For your build tool, you will likely need to write an EDE wrapper around
SBT. EDE can recognize existing config files (whatever an sbt is) and
use that to recognize the shape of your project directory, which in turn
feeds into how CEDET associates tags to files. You can then add in
various EDE features as needed.
See the rest of the addlang web page for more ideas.
On Sun, 2009-06-21 at 15:02 -0400, Ray Racine wrote:
> I'd like to take a swag at adding CEDET support for the Scala
> programming language.
> Scala already has a pretty nice emacs editing capability. I have an
> exuberant ctags .ctags file that does a pretty could job of parsing
> classes, objects, case classes etc. So ideally I'd like to start with
> simple ctags support as opposed to full lexer/grammar parsing via
> bovine, which I do want to look at later.
> In addition, Scala has an REPL like build system (think Ruby Rake)
> written in Scala itself that is pretty darn good. I have a small
> small sbt.el which uses emacs' comint.el and compile.el to interact
> with the build system REPL from with in emacs to navigate to compile
> errors etc.
> In addition there is a pretty complete Scala template system based on
> Summary Of Scala + Emacs
> Base Editing: Solid Scala mode implementation
> Project: SBT, Scala Simple Build Tool
> Template: Yassnippit Scala support
> Syntactic Tax Analysis : Exhuberant CTags
> I'd really like to semantic intellisense capability added to the Scala
> +Emacs universe.
> I've been at it for a few hours, mainly poking around and here is
> where I am at.
> - cvs checkout of current HEAD.
> - make build completes successful
> - configured .emacs per INSTALL, cedet.el is loaded, ede-mode set,
> created a simple-ede-project, enable-gaudy,
> enable-primary-ctags-support, ...
> Not much appears to be working...
> Any pointers on where/how to start would be appreciated. Is there an
> example language support implmentation in the CEDET project I could
> pattern a Scala implementation after? I looked at the semantic-java
> but I see a lot of JDE in there etc.