設定
Emacs のバージョン
GNU Emacs 22.2.50.1 (i386-apple-darwin9.4.0, Carbon Version 1.6.0) of 2008-07-17 on seijiz.local
flymake の設定
参考サイトにあるflymake の設定を「.emacs.el」に追加する。
僕の場合、Carbon Emacs に付属している「rails.el」を使っていたので、以下のように設定した。「(require 'rails)」だけでもflymake を有効にできるけど、ハイライトが見易くなるように変更している。
(require 'rails) ;; flymake setting ;; http://d.hatena.ne.jp/khiker/20070630/emacs_ruby_flymake (set-face-background 'flymake-errline "red4") (set-face-background 'flymake-warnline "dark slate blue")
Carbon Emacs のrails.el は「/Applications/Emacs.app/Contents/Resources/site-lisp/rails/」内にあって、この中でロードされる「rails-ruby.el」でflymake の設定が行われている。
エラー内容をミニバッファで確認できるようにする
デフォルトの機能だと、エラー部分にカーソルを合わせて「C-cd」でエラー内容がポップアップする。これをミニバッファに出すようにするよう設定。
- .emacs.el に以下を追加
(defun flymake-display-err-minibuf () "Displays the error/warning for the current line in the minibuffer" (interactive) (let* ((line-no (flymake-current-line-no)) (line-err-info-list (nth 0 (flymake-find-err-info flymake-err-info line-no))) (count (length line-err-info-list)) ) (while (> count 0) (when line-err-info-list (let* ((file (flymake-ler-file (nth (1- count) line-err-info-list))) (full-file (flymake-ler-full-file (nth (1- count) line-err-info-list))) (text (flymake-ler-text (nth (1- count) line-err-info-list))) (line (flymake-ler-line (nth (1- count) line-err-info-list)))) (message "[%s] %s" line text) ) ) (setq count (1- count))))) (add-hook 'ruby-mode-hook '(lambda () (define-key ruby-mode-map "\C-cd" 'flymake-display-err-minibuf)))
これで、「C-cd」でエラー内容がミニバッファに出るようになる。