我试图让 JSHint 与 Flymake 一起工作。
jshint
确实已安装/opt/bin
并可以正常工作。/opt/bin
在 Emacs 中exec-path
。
我已按照EmacsWiki 上的说明进行操作,并在我的init.el
:
(defun flymake-jshint-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 "jshint" (list local-file))))
(setq flymake-err-line-patterns
(cons '("^ [[:digit:]]+ \\([[:digit:]]+\\),\\([[:digit:]]+\\): \\(.+\\)$"
nil 1 2 3)
flymake-err-line-patterns))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.js\\'" flymake-jshint-init))
当我打开 JavaScript 文件时,我的模式行显示为:
[(Javascript Flymake* AC)]
这很奇怪,因为*
当我将 Flymake 与 C++ 或 Python 一起使用时,通常不会出现。根据 Flymake 文档,Flymake*
意思是“Flymake 当前正在运行”。但是,Flymake 没有显示任何错误。
我检查了*Messages*
缓冲区,但它只列出了几行Fontifying foo.js... (regexps...................)
. 没有错误。
其他建议?