aboutsummaryrefslogtreecommitdiff
path: root/apheleia-formatters.el
diff options
context:
space:
mode:
authorIbrahim Awwal <ibrahim+github@awwal.dev>2023-12-09 15:44:41 -0800
committerGitHub <noreply@github.com>2023-12-09 15:44:41 -0800
commitefb9992c00e63b72f0474b19440be4666e95ebd1 (patch)
tree65d46678418f9377fcefb308bb08e787dea00485 /apheleia-formatters.el
parent8f512dba3ee2eabae0dbfd8289b89d54c132cb87 (diff)
Log an error when a formatter's executable is not found (#269)
I was trying to set up a new formatter and it wasn't in my exec-path, so it wasn't running anything. But there was no message in the apheleia logs, even with `apheleia-log-debug-info` enabled. This adds a log entry when the executable is not found. Hopefully the formatting is okay - I think Apheleia re-indented it so hopefully that's good. Fixes #268 --------- Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
Diffstat (limited to 'apheleia-formatters.el')
-rw-r--r--apheleia-formatters.el40
1 files changed, 22 insertions, 18 deletions
diff --git a/apheleia-formatters.el b/apheleia-formatters.el
index ed9f590..fa48c16 100644
--- a/apheleia-formatters.el
+++ b/apheleia-formatters.el
@@ -980,24 +980,28 @@ purposes."
(let ((load-suffixes '(".el")))
(locate-library "apheleia"))))))
exec-path)))
- (when (executable-find (apheleia-formatter--arg1 ctx)
- (eq apheleia-remote-algorithm 'remote))
- (apheleia--execute-formatter-process
- :ctx ctx
- :callback
- (lambda (stdout)
- (when-let ((output-fname (apheleia-formatter--output-fname ctx)))
- ;; Load output-fname contents into the stdout buffer.
- (with-current-buffer stdout
- (erase-buffer)
- (insert-file-contents-literally output-fname)))
- (funcall callback stdout))
- :ensure
- (lambda ()
- (dolist (fname (list (apheleia-formatter--input-fname ctx)
- (apheleia-formatter--output-fname ctx)))
- (when fname
- (ignore-errors (delete-file fname))))))))))
+ (if (executable-find (apheleia-formatter--arg1 ctx)
+ (eq apheleia-remote-algorithm 'remote))
+ (apheleia--execute-formatter-process
+ :ctx ctx
+ :callback
+ (lambda (stdout)
+ (when-let
+ ((output-fname (apheleia-formatter--output-fname ctx)))
+ ;; Load output-fname contents into the stdout buffer.
+ (with-current-buffer stdout
+ (erase-buffer)
+ (insert-file-contents-literally output-fname)))
+ (funcall callback stdout))
+ :ensure
+ (lambda ()
+ (dolist (fname (list (apheleia-formatter--input-fname ctx)
+ (apheleia-formatter--output-fname ctx)))
+ (when fname
+ (ignore-errors (delete-file fname))))))
+ (apheleia--log
+ 'process
+ "Could not find executable for formatter %s, skipping" formatter)))))
(defun apheleia--run-formatter-function
(func buffer remote callback stdin formatter)