I’ve been doing a lot of Gradle/Groovy work lately, and have been using Russel’s Groovy Emacs Mode.
That page provides the documentation for the case where you’re going to put all the *.el files into ~/.emacs.d. However, to keep things nice and organized I put third-party code into a vendor directory under ~/.emacs.d/lisp.
So for the Groovy mode, I added ~/.emacs.d/lisp/vendor/groovy-mode, extracted Russell’s tarball into that, and added these lines to my jep-groovy.el file:
;;; use groovy-mode when file ends in .groovy or has #!/bin/groovy at start (add-to-list 'load-path "~/.emacs.d/lisp/vendor/groovy-mode") (autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t) (add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode)) (add-to-list 'auto-mode-alist '("\.gradle$" . groovy-mode)) (add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode)) ;;; make Groovy mode electric by default. (add-hook 'groovy-mode-hook '(lambda () (require 'groovy-electric) (groovy-electric-mode)))