1 ;; erlang-flymake.el --- Flymake support.
3 ;; Author: Mats Cronqvist
5 ;; Keywords: erlang, flymake
8 ;; based on snippets stolen from
9 ;; http://www.emacswiki.org/emacs/FlyMake
11 ;; http://www.emacswiki.org/emacs/FlymakeErlang
13 ;; to enable, put something like this in your erlang-mode-hook
15 ;; (local-set-key (kbd "M-'") 'erlang-flymake-next-error)
17 (if (locate-library "flymake")
20 (defun flymake-tmp-filename(filename prefix
)
22 ((tmp-dir (concat (getenv "HOME") "/.erlang-flymake"))
23 (tmp-name (file-name-nondirectory filename
))
24 (tmp-file (concat tmp-dir
"/" tmp-name
)))
25 (flymake-log 3 "made temp-file: %s" tmp-file
)
27 (defun erlang-flymake-init ()
28 "Set up the command used to parse our buffer"
29 (let* ((erlang-dir (file-name-directory (locate-library "erlang")))
30 (temp-file (flymake-init-create-temp-buffer-copy
31 'flymake-tmp-filename
)))
32 (list (concat erlang-dir
"flymaker.sh")
33 (list temp-file default-directory
))))
34 (defun flymake-siblicide()
35 "Kill all next-error capable buffers."
37 (progn (kill-buffer (next-error-find-buffer))
40 (defun erlang-flymake-next-error ()
41 "Goto next error, if any. Display error in mini-buffer."
46 (setq err-buf
(next-error-find-buffer))
51 (flymake-goto-next-error)
52 (let ((err (get-char-property (point) 'help-echo
)))
55 ;; add our init file to flymake's alist of filename regexps
57 'flymake-allowed-file-name-masks
58 '(".+\\.erl$" erlang-flymake-init
))))