Używam flymake w Emacsie, aby sprawdzić kod napisany w kilku językach. Jednak nie widzę żadnego sposobu użycia Flymake na samym elisp.
Jestem swiadomy elint-current-buffer
, i byte-compile-file
, które dają użyteczne ostrzeżenia o niezdefiniowanych zmiennych itp. Co dziwne, nie zawsze dają te same błędy: na przykład elint nie ostrzega przed (require "cl)
. Próbowałem też auto-compile-mode
(dostępne w MELPA), ale nadal zapisuje ostrzeżenia w osobnym buforze.
Naprawdę chciałbym, aby mój kod elisp był podkreślany podczas popełniania błędów podczas pisania. Jak mam to zrobic? Skonfigurowałem wcześniej flymake, ale było to z programami zewnętrznymi, a nie z samym Emacsem.
Odpowiedzi:
5 dla odpowiedzi № 1Wiki Emacs ma to mówiąc o flymake'u dla emacs lisp, choć nie wydaje się on kompletny.
Flycheck obsługuje jednak Emacsa Lispa „po wyjęciu z pudełka”.
1 dla odpowiedzi nr 2
Erefactor jest całkiem przyzwoity i dostępny na wiki, a także w Melpa: http://www.emacswiki.org/emacs/erefactor.el
Lubię też uruchamiać checkdoc po zapisaniu:
(defun emagician/run-checkdoc ()
"run checkdoc on save if it is an elisp file"
(if (and (eq major-mode "emacs-lisp-mode)
(> (length buffer-file-name)
(length package-user-dir))
(not (string= (concat package-user-dir "/")
(substring buffer-file-name 0 (+ 1 (length package-user-dir))))))
(checkdoc)))
(add-hook "after-save-hook "emagician/run-checkdoc)