Preamble

This page is an old one kept around only for the historical record.  The materials mentioned as being in the Groovy Subversion repository have been deleted from that repository, so the links for those files are broken.

Russel Winder's mode and Stuart Clayman's inferior mode have been collected together in a Git repository, heavily worked on by Jim Morris, which is available for use by download from the Launchpad page. See also the current and up-to-date page Emacs Groovy Mode.

groovy-mode for (X)Emacs

Jeremy Rayner created a groovy-mode for (X)Emacs, which has syntax hilighting, recognises curly brace indentation (just use the tab key), and doesn't panic about optional semicolons.  He tested it in Emacs on Mac OSX 10.3, and others use it and it isn't painful.

Russel Winder has begun an alternative version of groovy-mode as a derived mode in CC Mode.  Currently, this has some problems with indenting when semicolons are not used as statement terminators but this is being actively worked on -- CC Mode has support for languages like Awk and Groovy that do not require semicolons.

Stuart Clayman has created a "Groovy inferior mode" (nothing inferior about Stuart's code but this is the jargon for an interpreter execution mode) which allows groovysh to be run from within (X)Emacs. 

Download

(NB Links go to the latest versions in Subversion)

Download Jeremy's groovy-mode.el file and place it somewhere like (on OSX)
/usr/share/emacs/site-lisp/groovy-mode.el
your mileage may vary...

Download Russel's groovy-mode.el and place it in your (X)Emacs' load path.

NB As both Jeremy's and Russel's are called groovy-mode you have to have one or the other, you can't have both.

Download Stuart's inf-groovy.el and place it in your (X)Emacs load path.

I had problems with Fisheye, and had to go to SVN directly. Here are the links:
Jeremy's groovy-mode.el.
Russel's groovy-mode.el.
Stuart's inf-groovy.el.

.emacs

add the following lines to your ~/.emacs file:

;;; turn on syntax hilighting
(global-font-lock-mode 1)

;;; use groovy-mode when file ends in .groovy or has #!/bin/groovy at start
(autoload 'groovy-mode "groovy-mode" "Groovy editing mode." t)
(add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode))
(add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode))

TODO

Comments regarding Jeremy's mode:

Comments regarding Russel's mode:

Disclaimers

jez.
http://javanicus.com/blog2

Russel
http://www.russel.org.uk