Groovy > Emacs Groovy mode

更新日 2019-07-06
広告

EmacsにGroovyモードを追加する方法を紹介します。

MELPA

groovy-modeやgrails-modeは、現在、MELPAというパッケージ管理システム経由でインストールできるようになっています。 MELPAの使い方については、こちらの記事をご覧ください。

emacs 24.3~MELPA以前

emacs 24.3以降でgroovy modeを実行すると、以下のエラーが出ます。
Symbol's function definition is void: cl-macroexpand-all

groovy modeのelファイルは2013年11月29日に更新されていますが、それを使っても同様のエラーが出ます。

これは、emacs 24.3以降、clライブラリが使われなくなったためです。 具体的には、cl-macroexpand-allではなくmacroexpand-allを使うようになりました。 groovy modeはcl-macroexpand-allを使用しているため、エラーとなります。

以下のように、まずclライブラリをロードすれば大丈夫です。

(require 'cl)
(global-font-lock-mode 1)
(autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t)
(add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode))
(add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode))
恒久的には、groovy modeがclライブラリを使わないようになってくれるとよいのですが。。

2012年頃の話

  • https://launchpad.net/groovy-emacs-mode から emacs-groovy-mode_2011-06-29.tgz をダウンロードします。
  • ダウンロードしたtarballを解凍し、 ~/.emacs.d 以下に配置します。
  • ~/.emacs (もしくは .emacs.el)に以下を追記して、起動時にgroovy modeのlispをロードするように設定します。

;; Auto load groovy-emacs mode files.
(global-font-lock-mode 1)
(autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t)
(add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode))
(add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode))
(add-hook 'groovy-mode-hook
          '(lambda ()
             (require 'groovy-electric)
             (groovy-electric-mode)))
~/.emacs.dがemacsのload pathに含まれていない場合は、以下も .emacs に追加します。
;; Set load-path
(setq load-path (cons "~/.emacs.d" load-path))
これで .groovy 拡張子のファイルを開くと、自動的に groovy-mode になります。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system