From 98a200c955117893d3c27ace8e911c53ca2a7395 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 12 May 2026 18:00:50 -0500 Subject: refactor(prog-webdev): extract the prettier format-command builder I pulled the prettier command-string construction out of `cj/webdev-format-buffer` into `cj/--webdev-format-command`. The wrapper stays thin: resolve `(or buffer-file-name "file.ts")`, hand the command to `shell-command-on-region`, clamp point. With the command shape in a pure helper I can unit-test it directly. --- modules/prog-webdev.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'modules/prog-webdev.el') diff --git a/modules/prog-webdev.el b/modules/prog-webdev.el index 4b0333f2..2b66f2ec 100644 --- a/modules/prog-webdev.el +++ b/modules/prog-webdev.el @@ -58,6 +58,10 @@ Install with: sudo pacman -S prettier") (executable-find ts-language-server-path)) (lsp-deferred))) +(defun cj/--webdev-format-command (file) + "Return the prettier command that formats FILE's contents on stdin." + (format "prettier --stdin-filepath %s" (shell-quote-argument file))) + (defun cj/webdev-format-buffer () "Format the current buffer with prettier. Detects the file type automatically from the filename." @@ -65,10 +69,9 @@ Detects the file type automatically from the filename." (if (executable-find prettier-path) (let ((point (point))) (shell-command-on-region (point-min) (point-max) - (format "prettier --stdin-filepath %s" - (shell-quote-argument - (or buffer-file-name "file.ts"))) - nil t) + (cj/--webdev-format-command + (or buffer-file-name "file.ts")) + nil t) (goto-char (min point (point-max)))) (user-error "prettier not found; install with: sudo pacman -S prettier"))) -- cgit v1.2.3