好吧,flymake只是在寻找可执行命令,该命令以预定义格式输出行。例如,您可以制作一个shell脚本,该脚本将依次调用所需的所有检查程序。
这是我在“ pycheckers”脚本中所做的事情:
#!/bin/bash
epylint "$1" 2>/dev/null
pyflakes "$1"
pep8 --ignore=E221,E701,E202 --repeat "$1"
true
对于Emacs Lisp部分:
(when (load "flymake" t)
(defun flymake-pyflakes-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 "pycheckers" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))