diff options
| author | Felix S Klock II <pnkfelix@pnkfx.org> | 2018-10-02 00:21:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-02 00:21:31 +0200 |
| commit | ee262ccdee16e0e78c7e16f81630c154d0b8f39b (patch) | |
| tree | 386ffc233ce1d086dd56d5707c317a6ac542be58 | |
| parent | 256db76678833cd3a51555a3c5214a72f246cf27 (diff) | |
| parent | 9154e0ee361b5e20b5be7b5356c2b99286f8e35f (diff) | |
| download | rust-mode-ee262ccdee16e0e78c7e16f81630c154d0b8f39b.tar.gz | |
Merge pull request #266 from brotzeit/format-on-save
throw error in after-save-hook instead of before-save-hook
| -rw-r--r-- | rust-mode.el | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/rust-mode.el b/rust-mode.el index 8385a7e..c2102c9 100644 --- a/rust-mode.el +++ b/rust-mode.el @@ -1555,7 +1555,8 @@ This is written mainly to be used as `end-of-defun-function' for Rust." (setq-local parse-sexp-lookup-properties t) (setq-local electric-pair-inhibit-predicate 'rust-electric-pair-inhibit-predicate-wrap) - (add-hook 'before-save-hook 'rust--before-save-hook nil t) + (add-hook 'before-save-hook 'rust-before-save-hook nil t) + (add-hook 'after-save-hook 'rust-after-save-hook nil t) (setq-local rust-buffer-project nil) @@ -1571,9 +1572,17 @@ This is written mainly to be used as `end-of-defun-function' for Rust." (require 'rust-mode) (rust-mode)) -(defun rust--before-save-hook () - (when rust-format-on-save (rust-format-buffer))) - +(defun rust-before-save-hook () + (when rust-format-on-save + (condition-case nil + (rust-format-buffer) + (error nil)))) + +(defun rust-after-save-hook () + (when rust-format-on-save + (unless (executable-find rust-rustfmt-bin) + (error "Could not locate executable \"%s\"" rust-rustfmt-bin)))) + (defvar rustc-compilation-regexps (let ((file "\\([^\n]+\\)") (start-line "\\([0-9]+\\)") |
