`
zhongwencool
  • 浏览: 27172 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

emacs 的erlang-flymake

阅读更多
emacs 设置erlang-flymake

erlang-flymake 是emacs自带的。可以看erlang-flymake.el里面的文件说明
核心在于:1)用erlc 来检查 2)用complie_file/2来脚本化定制

里面关键在于3个变量
;; * erlang-flymake-get-code-path-dirs-function   ;;检查目标文件
;; * erlang-flymake-get-include-dirs-function    ;;目标工程所在的include目录
;; * erlang-flymake-extra-opts    ;;编译的erlc  或compile_file/2 里面-I选项

因为对lisp不是很熟悉:每次都报找不到头文件。
所以我把erlang-flymake-get-include-dirs-function 写死为我的项目头文件中

(inc-dir-opts
          (erlang-flymake-flatten
           (mapcar (lambda (dir) (list "-I" dir))
                   (list "f:/project/include" "f:/project/include/error"))))

这样就可以了。
也可以这样:
http://stackoverflow.com/questions/13927247/erlang-flymake-with-nested-folders-in-src-cannot-find-includes-folder


.emacs里面的设置
(require 'erlang-flymake)
;;仅在存盘时进行检查
(erlang-flymake-only-on-save)
;;键盘映射
(defvar flymake-mode-map (make-sparse-keymap))
(define-key flymake-mode-map (kbd "<f3>") 'flymake-goto-next-error)
(define-key flymake-mode-map (kbd "C-c <f3>") 'flymake-goto-prev-error)
(define-key flymake-mode-map (kbd "<f4>") 'flymake-display-err-menu-for-current-line)
(or (assoc 'flymake-mode minor-mode-map-alist)
    (setq minor-mode-map-alist
          (cons (cons 'flymake-mode flymake-mode-map)
                minor-mode-map-alist)))


以后就可以改掉:一直按保存的坏习惯啦。。。。


  • 大小: 96.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics