Ну, flymake просто ищет исполняемую команду, которая выводит строки в предопределенном формате. Например, вы можете создать скрипт оболочки, который будет последовательно вызывать все нужные вам шашки ...
Вы также должны убедиться, что ваш скрипт завершается, возвращая уровень ошибки 0. Так что это пример:
Вот что я сделал в сценарии "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)))