Emacs remains the "one true editor" (apart from Vim of course which is the other "one true editor"). Many people prefer using editors rather than fighting with IDEs. Editors need support for specific languages, hence the need for a Groovy mode for Emacs. Emacs Plugin is an old page kept for historical purposes outlining that there have been multiple goes at creating a Groovy mode for Emacs – each with their good bits and bad bits. Current development effort (thanks to Jim Morris) focuses on evolving the Emacs mode based on the Java mode of CC Mode initially started by Russel Winder, coupled with the inferior mode by Stuart Clayman.
A release was made on 2010-11-13 but most people using this mode just branch the Bazaar branch that is the mainline. The Bazaar branch held at lp:groovy-emacs-mode is the current mainline. See https://launchpad.net/groovy-emacs-mode.
Getting and Installing Groovy Mode
Take a branch of the mainline somewhere on your filestore:
- bzr branch lp:groovy-emacs-mode
This creates a Bazaar branch in the subdirectory groovy-emacs-mode of the current directory. You can update to the latest version by:
- cd groovy-emacs-mode
- bzr pull
On systems other than Windows you can use symbolic links to put these files in the right place for Emacs to find them. So assuming that you put the Groovy mode branch in ~/groovy-emacs-mode and your emacs directory is ~/.emacs.d then:
- cd ~/.emacs.d
- ln -s ../groovy-emacs-mode/*.el .
this should set up all the symbolic links needed.
(Someone will have to write what to do on Windows.)
Setting Up Emacs
Emacs needs to be told when to use Groovy mode. So in your initialization file (assumed default is ~/.emacs.d/init.el) you probably want to add:
or something equivalent.
Reporting Bugs, Requests for Improvement
Please use the The Groovy Emacs mode bug tracker for reporting all bugs and requesting new features.
This Groovy mode is developed and tested in the context of using Emacs 23. It should work with Emacs 22 but is untested. Likewise it should work with XEmacs but is untested.