diff options
| author | Ibrahim Awwal <ibrahim+github@awwal.dev> | 2023-12-09 15:44:41 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-09 15:44:41 -0800 |
| commit | efb9992c00e63b72f0474b19440be4666e95ebd1 (patch) | |
| tree | 65d46678418f9377fcefb308bb08e787dea00485 /apheleia-formatters.el | |
| parent | 8f512dba3ee2eabae0dbfd8289b89d54c132cb87 (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.el | 40 |
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) |
