Inhibit format-all in modes without a formatter

Should stop format-all's error from causing trouble in modes that don't
have a registered formatter, like mu4e, org-msg-edit-mode,
org-journal-mode, and others.
This commit is contained in:
Henrik Lissner 2021-05-10 04:43:35 -04:00
parent c19b3c827d
commit 857d266e72

View file

@ -39,14 +39,15 @@ select buffers.")
"Enable formatting on save in certain major modes.
This is controlled by `+format-on-save-enabled-modes'."
(unless (or (eq major-mode 'fundamental-mode)
(cond ((booleanp +format-on-save-enabled-modes)
(null +format-on-save-enabled-modes))
((eq (car +format-on-save-enabled-modes) 'not)
(memq major-mode (cdr +format-on-save-enabled-modes)))
((not (memq major-mode +format-on-save-enabled-modes))))
(not (require 'format-all nil t)))
(+format-enable-on-save-h)))
(or (eq major-mode 'fundamental-mode)
(cond ((booleanp +format-on-save-enabled-modes)
(null +format-on-save-enabled-modes))
((eq (car +format-on-save-enabled-modes) 'not)
(memq major-mode (cdr +format-on-save-enabled-modes)))
((not (memq major-mode +format-on-save-enabled-modes))))
(not (require 'format-all nil t))
(null (car (format-all--probe)))
(+format-enable-on-save-h)))
(when (featurep! +onsave)
(add-hook 'after-change-major-mode-hook #'+format-enable-on-save-maybe-h))