Homepage: https://github.com/ensime/ensime-emacs
Updated:
ENhanced Scala Interaction Mode for Emacs
ENSIME has a server component which can read the AST of your project and its dependencies, providing features that are simply not possible with emacs-lisp pattern matching.