Flymake for Erlang
Emacs での開発の際には、Flymake を使うと超便利だヨ!
リアルタイム (on the fly) で Syntax Check してくれるヨ!
と素敵なお話を伺ったので、設定してみました。
文法ミスをするとこんな感じで教えてくれます。
薄い灰色が警告、濃い灰色がエラーです。(ちょっと分かりにくいかしら。。。)
あら、素敵!
設定の手順をまとめてみました。
環境
GNU Emacs 22.2.1
Emacs 22 以降はデフォルトで flymake は入っています。
ver 2.X の Meadow では flymake が入っていません。
ver 3.X に移行するか、flymake.pl を落としましょう。
スクリプト
下記のスクリプト (escript) を作成し、適当なディレクトリに置いて下さい。
実行権限の付与をお忘れなく。
#!/usr/bin/env escript -export([main/1]). main([File_Name]) -> compile:file(File_Name, [warn_obsolete_guard, warn_unused_import, warn_shadow_vars, warn_export_vars, strong_validation, report, {i, "../include"}]). ]
.emacs の設定
;; set up elrang-flymake (require 'flymake) (defun flymake-erlang-init () (let* ((temp-file (flymake-init-create-temp-buffer-copy 'flymake-create-temp-inplace)) (local-file (file-relative-name temp-file (file-name-directory buffer-file-name)))) (list "<上記の Script の場所を指定してください>" (list local-file)))) (add-to-list 'flymake-allowed-file-name-masks '("\\.erl\\'" flymake-erlang-init)) ;; Erlang mode の際に、flymake-mode を有効にし、C-cd で現在行のエラーメニューを表示する。 (add-hook 'erlang-mode-hook '(lambda () (flymake-mode t) (define-key erlang-mode-map "\C-cd" 'flymake-display-err-menu-for-current-line))) ;; エラー/警告の際の色を変更 (custom-set-faces '(flymake-errline ((((class color)) (:background "Gray30")))) '(flymake-warnline ((((class color)) (:background "Gray20")))))
ハイライトされた行で、C-c d と押すとエラー、警告内容を表示してくれます。