2012年4月21日土曜日

flymake.el

プログラムを書いてコンパイルすると文法エラーがいっぱい出て,すべてのやる気がどこかに飛んでいったまま生きる活力を失うことが多々あります.そういった脆さを心に抱えてる人はdotemacs.elに以下の文章を付け足すのがおすすめです.
;; flymake (for C)
(require 'flymake)
(defun flymake-c-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 "gcc" (list "-Wall" "-Wextra" "-fsyntax-only" local-file))))
(defun flymake-h-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 "gcc" (list "-Wall" "-Wextra" local-file))))

(push '("\\.h$" flymake-h-init) flymake-allowed-file-name-masks)
(push '("\\.c$" flymake-c-init) flymake-allowed-file-name-masks)

(add-hook 'c-mode-hook
   '(lambda ()
      (flymake-mode t)))
これやってソース書いてると文法的に良くない部分に色がつくようになります.さらに色ついた行にマウスオンするとエラーメッセージが見れます.色ごとに危険度を示すと下みたいなイメージです.

 赤い行:致命的文法ミスがある
 青い行:できれば直したほうがいい

これはflymakeというemacs拡張による機能です.flymake.elは最近のemacsには標準で仕込まれてるらしいので基本的には上の文章足すだけで使えるようになると思います.

ということで効率良く文法エラーを低減していきましょう.

0 件のコメント :

コメントを投稿