Wednesday, May 30, 2012

Scala environment in Emacs

At work we have been doing most of our development in Java, and it has been serving us quite well. For a new project that we started, we looked at other JVM based languages, that would help us develop a little bit more efficiently, as well as leverage the big code base that we have.

Since a couple of people on the team knew Groovy and Grails, and have used it in the past to develop web applications, we went with that choice, and so far it has served us well. Development became a little bit more pleasurable, and we got rid of some of the Java boilerplate.

Out of curiosity I started experimenting with other JVM based languages, and since a lot of my friends at other company were singing praises for Scala, I decided to play with that.

The first step is setting up a Scala development environment, and with a couple of additions to my .emacs file, I got just that:

For Scala development in emacs, you need a couple of things:

  1. scala-mode
  2. ensime

You can download scala-mode from http://lampsvn.epfl.ch/svn-repos/scala/scala-tool-support/trunk/src/emacs/

Then move the directories under your elisp directory, and add the following lines to your .emacs file, changing the PATHTOELISP accordingly

;; scala support
(add-to-list 'load-path "/PATHTOELISP/scala-mode")
(require 'scala-mode-auto)

You can download ensime from https://github.com/aemoncannon/ensime/downloads

After expanding the zipped tar archive, move the directory to your elisp directory, and add the following lines to your .emacs file

(add-to-list 'load-path "/PATHTOELISP/ensime_2.9.2/elisp")
(require 'ensime)
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)

And now you have syntax highlighting, auto-completion, and a Scala REPL and debugger inside of Emacs.


No comments :

Post a Comment