Flymake и Erlang
07/09/2010 17:36
Flymake — это утилита для Emacs, которая ищет ошибки в исходных файлах и показывает их во время редактирования. Flymake ничего не знает о языках программирования, поэтому к ней можно легко подключить любой язык. Например, Erlang.
Для того, чтобы этого достичь, достаточно создать исполняемый файл, например, ~/.erlang_code/eflymake и записать в нем:
#!/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"}]).Посел чего надо научить Flymake его использовать:
(require 'flymake)
(setq flymake-log-level 3)
(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 "~/.erlang_code/eflymake" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.erl\\'" flymake-erlang-init))
(defun my-erlang-mode-hook ()
(flymake-mode 1))
(add-hook 'erlang-mode-hook 'my-erlang-mode-hook)Стоит, правда, напомнить, что flymake может показать только ошибки, произошедшие при компиляции файлов, но даже это позволяет отловить достаточно большое количество ошибок в коде.
