diff --git a/modules/lang/erlang/config.el b/modules/lang/erlang/config.el index edd3fd689..37b9d1ab8 100644 --- a/modules/lang/erlang/config.el +++ b/modules/lang/erlang/config.el @@ -5,6 +5,8 @@ :mode ("/rebar\\.config\\(?:\\.script\\)?\\'" . erlang-mode) :mode ("/\\(?:app\\|sys\\)\\.config\\'" . erlang-mode) :config + (when (executable-find "efmt") + (set-formatter! 'efmt '("efmt" "-") :modes '(erlang-mode))) (when (modulep! +lsp) (add-hook 'erlang-mode-local-vars-hook #'lsp! 'append)) diff --git a/modules/lang/erlang/doctor.el b/modules/lang/erlang/doctor.el index f442e8834..3997f8fa3 100644 --- a/modules/lang/erlang/doctor.el +++ b/modules/lang/erlang/doctor.el @@ -4,3 +4,7 @@ (assert! (or (not (modulep! +lsp)) (modulep! :tools lsp)) "This module requires (:tools lsp)") + +(when (modulep! :editor format) + (unless (executable-find "efmt") + (warn! "Couldn't find efmt. Formatting will be disabled.")))