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.
There is no release per se of the mode as yet, the Bazaar branch held at lp:groovy-emacs-mode represents the current state of play. This branch is mirrored to the Groovy repository at http://svn.codehaus.org/groovy/trunk/groovy/ide/emacs for those who cannot use Bazaar but have to use Subversion. Bazaar though is the preferred tool.
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
Use the Groovy JIRA for reporting all bugs and requesting new features. Make sure you set the component to Emacs Mode.
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.