EmacsWiki 以及其他来源提供了一种将 Python 检查添加到 Flymake 的方法:
(defun flymake-pylint-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 "epylint" (list local-file)))
为什么使用local-file
作为相对文件名有用或可取?我改为使用:
(defun flymake-flake8-init ()
(unless (file-remote-p default-directory)
(let ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-with-folder-structure)))
`("flake8" ("--max-complexity=10" ,temp-file)))))
它似乎适用于 absolute temp-file
。