Есть ли способ заставить компиляцию flymake только когда я сохраняю

Когда я набираю flymake, курсор немного зависает. Это немного раздражает.

Мне было интересно, есть ли способ заставить flymake не анализировать и компилировать каждый раз, когда я что-то меняю, просто делаю это, когда сохраняю.

Любое другое предложение?

Спасибо,

1 ответ

Вы можете переопределить flymake-after-change-function от flymake.el, поместив это в свой .emacs или же init.el файл:

(eval-after-load "flymake"
  '(progn
    (defun flymake-after-change-function (start stop len)
      "Start syntax check for current buffer if it isn't already running."
      ;; Do nothing, don't want to run checks until I save.
      )))

Вы все равно получите проверку синтаксиса при сохранении и при начальной загрузке файла, если вам не нравится начальная проверка синтаксиса при загрузке файла, вы сможете (я не проверял эту часть) повернуть его с:

(setq flymake-start-syntax-check-on-find-file nil)

Изменить: не имеет прямого отношения к вашему вопросу, но может быть полезно, если проблема связана только с задержкой, вы можете настроить, как долго вы должны простаивать, прежде чем сохранение вступит в силу:

;; Only run flymake if I've not been typing for 5 seconds
(setq flymake-no-changes-timeout 5)

Значение по умолчанию составляет 0,5 секунды, поэтому, возможно, изменение его на 5, как я, может помочь вам больше, чем просто отключить его полностью.

Другие вопросы по тегам